pub enum Message {
Show 171 variants
SetActiveScope(ScopeType),
AddVariables(Vec<VariableRef>),
AddScope(ScopeRef, bool),
AddScopeAsGroup(ScopeRef, bool),
AddCount(char),
AddStreamOrGenerator(TransactionStreamRef),
AddStreamOrGeneratorFromName(Option<StreamScopeRef>, String),
AddAllFromStreamScope(String),
InvalidateCount,
RemoveItemByIndex(VisibleItemIndex),
RemoveItems(Vec<DisplayedItemRef>),
FocusItem(VisibleItemIndex),
ItemSelectRange(VisibleItemIndex),
ItemSelectAll,
UnfocusItem,
RenameItem(Option<VisibleItemIndex>),
MoveFocus(MoveDir, usize, bool),
MoveFocusedItem(MoveDir, usize),
FocusTransaction(Option<TransactionRef>, Option<Transaction>),
VerticalScroll(MoveDir, usize),
ScrollToItem(usize),
SetScrollOffset(f32),
VariableFormatChange(MessageTarget<DisplayedFieldRef>, String),
ItemSelectionClear,
ItemColorChange(MessageTarget<VisibleItemIndex>, Option<String>),
ItemBackgroundColorChange(MessageTarget<VisibleItemIndex>, Option<String>),
ItemNameChange(Option<VisibleItemIndex>, Option<String>),
ItemHeightScalingFactorChange(MessageTarget<VisibleItemIndex>, f32),
ChangeVariableNameType(MessageTarget<VisibleItemIndex>, VariableNameType),
ForceVariableNameTypes(VariableNameType),
SetNameAlignRight(bool),
SetClockHighlightType(ClockHighlightType),
SetFillHighValues(bool),
ResetVariableFormat(DisplayedFieldRef),
CanvasScroll {
delta: Vec2,
viewport_idx: usize,
},
CanvasZoom {
mouse_ptr: Option<BigInt>,
delta: f32,
viewport_idx: usize,
},
ZoomToRange {
start: BigInt,
end: BigInt,
viewport_idx: usize,
},
CursorSet(BigInt),
SurferServerStatus(Instant, String, Status),
LoadFile(Utf8PathBuf, LoadOptions),
LoadWaveformFileFromUrl(String, LoadOptions),
LoadFromData(Vec<u8>, LoadOptions),
LoadWasmTranslator(Utf8PathBuf),
LoadSpadeTranslator {
top: String,
state: String,
},
LoadCommandFile(Utf8PathBuf),
LoadCommandFromData(Vec<u8>),
LoadCommandFileFromUrl(String),
SetupCxxrtl(CxxrtlKind),
WaveHeaderLoaded(Instant, WaveSource, LoadOptions, HeaderResult),
WaveBodyLoaded(Instant, WaveSource, BodyResult),
WavesLoaded(WaveSource, WaveFormat, Box<WaveContainer>, LoadOptions),
SignalsLoaded(Instant, LoadSignalsResult),
TransactionStreamsLoaded(WaveSource, WaveFormat, TransactionContainer, LoadOptions),
Error(Error),
TranslatorLoaded(Box<DynTranslator>),
BlacklistTranslator(VariableRef, String),
ShowCommandPrompt(Option<String>),
FileDropped(DroppedFile),
FileDownloaded(String, Bytes, LoadOptions),
CommandFileDownloaded(String, Bytes),
ReloadConfig,
ReloadWaveform(bool),
SuggestReloadWaveform,
CloseReloadWaveformDialog {
reload_file: bool,
do_not_show_again: bool,
},
UpdateReloadWaveformDialog(ReloadWaveformDialog),
OpenSiblingStateFile(bool),
SuggestOpenSiblingStateFile,
CloseOpenSiblingStateFileDialog {
load_state: bool,
do_not_show_again: bool,
},
UpdateOpenSiblingStateFileDialog(OpenSiblingStateFileDialog),
RemovePlaceholders,
ZoomToFit {
viewport_idx: usize,
},
GoToStart {
viewport_idx: usize,
},
GoToEnd {
viewport_idx: usize,
},
GoToTime(Option<BigInt>, usize),
ToggleMenu,
ToggleToolbar,
ToggleOverview,
ToggleStatusbar,
ToggleIndices,
ToggleDirection,
ToggleEmptyScopes,
ToggleParametersInScopes,
ToggleSidePanel,
ToggleItemSelected(Option<VisibleItemIndex>),
ToggleDefaultTimeline,
ToggleTickLines,
ToggleVariableTooltip,
ToggleScopeTooltip,
ToggleFullscreen,
SetTimeUnit(TimeUnit),
SetTimeStringFormatting(Option<TimeStringFormatting>),
SetHighlightFocused(bool),
CommandPromptClear,
CommandPromptUpdate {
suggestions: Vec<(String, Vec<bool>)>,
},
CommandPromptPushPrevious(String),
SelectPrevCommand,
SelectNextCommand,
OpenFileDialog(OpenMode),
OpenCommandFileDialog,
SaveStateFile(Option<PathBuf>),
LoadStateFile(Option<PathBuf>),
LoadState(Box<UserState>, Option<PathBuf>),
SetStateFile(PathBuf),
SetAboutVisible(bool),
SetKeyHelpVisible(bool),
SetGestureHelpVisible(bool),
SetQuickStartVisible(bool),
SetUrlEntryVisible(bool, Option<Box<dyn Fn(String) -> Message + Send + 'static>>),
SetLicenseVisible(bool),
SetRenameItemVisible(bool),
SetLogsVisible(bool),
SetMouseGestureDragStart(Option<Pos2>),
SetMeasureDragStart(Option<Pos2>),
SetFilterFocused(bool),
SetVariableNameFilterType(VariableNameFilterType),
SetVariableNameFilterCaseInsensitive(bool),
SetVariableIOFilter(VariableIOFilterType, bool),
SetVariableGroupByDirection(bool),
SetUIZoomFactor(f32),
SetPerformanceVisible(bool),
SetContinuousRedraw(bool),
SetCursorWindowVisible(bool),
SetHierarchyStyle(HierarchyStyle),
SetArrowKeyBindings(ArrowKeyBindings),
AddDivider(Option<String>, Option<VisibleItemIndex>),
AddTimeLine(Option<VisibleItemIndex>),
AddMarker {
time: BigInt,
name: Option<String>,
move_focus: bool,
},
SetMarker {
id: u8,
time: BigInt,
},
RemoveMarker(u8),
MoveMarkerToCursor(u8),
GoToCursorIfNotInView,
GoToMarkerPosition(u8, usize),
MoveCursorToTransition {
next: bool,
variable: Option<VisibleItemIndex>,
skip_zero: bool,
},
MoveTransaction {
next: bool,
},
VariableValueToClipbord(MessageTarget<VisibleItemIndex>),
VariableNameToClipboard(MessageTarget<VisibleItemIndex>),
VariableFullNameToClipboard(MessageTarget<VisibleItemIndex>),
InvalidateDrawCommands,
AddGraphic(GraphicId, Graphic),
RemoveGraphic(GraphicId),
VariableDragStarted(VisibleItemIndex),
VariableDragTargetChanged(TargetPosition),
VariableDragFinished,
AddDraggedVariables(Vec<VariableRef>),
UnpauseSimulation,
PauseSimulation,
ExpandDrawnItem {
item: DisplayedItemRef,
levels: usize,
},
SetViewportStrategy(ViewportStrategy),
SetConfigFromString(String),
AddCharToPrompt(char),
Batch(Vec<Message>),
AddViewport,
RemoveViewport,
SelectTheme(Option<String>),
Undo(usize),
Redo(usize),
DumpTree,
GroupNew {
name: Option<String>,
before: Option<ItemIndex>,
items: Option<Vec<DisplayedItemRef>>,
},
GroupDissolve(Option<DisplayedItemRef>),
GroupFold(Option<DisplayedItemRef>),
GroupUnfold(Option<DisplayedItemRef>),
GroupFoldRecursive(Option<DisplayedItemRef>),
GroupUnfoldRecursive(Option<DisplayedItemRef>),
GroupFoldAll,
GroupUnfoldAll,
StartWcpServer {
address: Option<String>,
initiate: bool,
},
StopWcpServer,
SetupChannelWCP,
Exit,
ExpandParameterSection,
AsyncDone(AsyncJob),
}
Expand description
The design of Surfer relies on sending messages to trigger actions.
Variants§
SetActiveScope(ScopeType)
Set active scope
AddVariables(Vec<VariableRef>)
Add one or more variables to wave view.
AddScope(ScopeRef, bool)
Add scope to wave view. If second argument is true, add subscopes recursively.
AddScopeAsGroup(ScopeRef, bool)
Add scope to wave view as a group. If second argument is true, add subscopes recursively.
AddCount(char)
Add a character to the repeat command counter.
AddStreamOrGenerator(TransactionStreamRef)
AddStreamOrGeneratorFromName(Option<StreamScopeRef>, String)
AddAllFromStreamScope(String)
InvalidateCount
Reset the repeat command counter.
RemoveItemByIndex(VisibleItemIndex)
RemoveItems(Vec<DisplayedItemRef>)
FocusItem(VisibleItemIndex)
Focus a wave/item.
ItemSelectRange(VisibleItemIndex)
ItemSelectAll
Select all waves/items.
UnfocusItem
Unfocus a wave/item.
RenameItem(Option<VisibleItemIndex>)
MoveFocus(MoveDir, usize, bool)
MoveFocusedItem(MoveDir, usize)
FocusTransaction(Option<TransactionRef>, Option<Transaction>)
VerticalScroll(MoveDir, usize)
ScrollToItem(usize)
Scroll in vertical direction so that the item at a given location in the list is at the top (or visible).
SetScrollOffset(f32)
VariableFormatChange(MessageTarget<DisplayedFieldRef>, String)
Change format (translator) of a variable. Passing None as first element means all selected variables.
ItemSelectionClear
ItemColorChange(MessageTarget<VisibleItemIndex>, Option<String>)
Change color of waves/items. If first argument is None, change for selected items. If second argument is None, change to default value.
ItemBackgroundColorChange(MessageTarget<VisibleItemIndex>, Option<String>)
Change background color of waves/items. If first argument is None, change for selected items. If second argument is None, change to default value.
ItemNameChange(Option<VisibleItemIndex>, Option<String>)
ItemHeightScalingFactorChange(MessageTarget<VisibleItemIndex>, f32)
Change scaling factor/height of waves/items. If first argument is None, change for selected items.
ChangeVariableNameType(MessageTarget<VisibleItemIndex>, VariableNameType)
Change variable name type of waves/items. If first argument is None, change for selected items.
ForceVariableNameTypes(VariableNameType)
SetNameAlignRight(bool)
Set or unset right alignment of names
SetClockHighlightType(ClockHighlightType)
SetFillHighValues(bool)
ResetVariableFormat(DisplayedFieldRef)
CanvasScroll
CanvasZoom
ZoomToRange
CursorSet(BigInt)
Set cursor at time.
SurferServerStatus(Instant, String, Status)
LoadFile(Utf8PathBuf, LoadOptions)
Load file from file path.
LoadWaveformFileFromUrl(String, LoadOptions)
Load file from URL.
LoadFromData(Vec<u8>, LoadOptions)
Load file from data.
LoadWasmTranslator(Utf8PathBuf)
Load a web assembly translator from file. This is loaded in addition to the translators loaded on startup.
LoadSpadeTranslator
Load a spade translator using the specified top and the specified state encoded as ron.
LoadCommandFile(Utf8PathBuf)
Load command file from file path.
LoadCommandFromData(Vec<u8>)
Load commands from data.
LoadCommandFileFromUrl(String)
Load command file from URL.
SetupCxxrtl(CxxrtlKind)
WaveHeaderLoaded(Instant, WaveSource, LoadOptions, HeaderResult)
Message sent when waveform file header is loaded.
WaveBodyLoaded(Instant, WaveSource, BodyResult)
Message sent when waveform file body is loaded.
WavesLoaded(WaveSource, WaveFormat, Box<WaveContainer>, LoadOptions)
SignalsLoaded(Instant, LoadSignalsResult)
TransactionStreamsLoaded(WaveSource, WaveFormat, TransactionContainer, LoadOptions)
Error(Error)
TranslatorLoaded(Box<DynTranslator>)
BlacklistTranslator(VariableRef, String)
Take note that the specified translator errored on a translates
call on the
specified variable
ShowCommandPrompt(Option<String>)
FileDropped(DroppedFile)
Message sent when file is loadedropped onto Surfer.
FileDownloaded(String, Bytes, LoadOptions)
Message sent when download of a waveform file is complete.
CommandFileDownloaded(String, Bytes)
Message sent when download of a command file is complete.
ReloadConfig
ReloadWaveform(bool)
SuggestReloadWaveform
Suggest reloading the current waveform as the file on disk has changed. This should first take the user’s confirmation before reloading the waveform. However, there is a configuration setting that the user can overwrite.
CloseReloadWaveformDialog
Close the ‘reload_waveform’ dialog.
The reload_file
boolean is the return value of the dialog.
If do_not_show_again
is true, the reload_file
setting will be persisted.
UpdateReloadWaveformDialog(ReloadWaveformDialog)
Update the waveform dialog UI with the provided dialog model.
OpenSiblingStateFile(bool)
SuggestOpenSiblingStateFile
CloseOpenSiblingStateFileDialog
UpdateOpenSiblingStateFileDialog(OpenSiblingStateFileDialog)
RemovePlaceholders
ZoomToFit
GoToStart
GoToEnd
GoToTime(Option<BigInt>, usize)
ToggleMenu
ToggleToolbar
ToggleOverview
ToggleStatusbar
ToggleIndices
ToggleDirection
ToggleEmptyScopes
ToggleParametersInScopes
ToggleSidePanel
ToggleItemSelected(Option<VisibleItemIndex>)
ToggleDefaultTimeline
ToggleTickLines
ToggleVariableTooltip
ToggleScopeTooltip
ToggleFullscreen
SetTimeUnit(TimeUnit)
Set which time unit to use.
SetTimeStringFormatting(Option<TimeStringFormatting>)
Set how to format the time strings. Passing None resets it to default.
SetHighlightFocused(bool)
CommandPromptClear
CommandPromptUpdate
CommandPromptPushPrevious(String)
SelectPrevCommand
SelectNextCommand
OpenFileDialog(OpenMode)
OpenCommandFileDialog
SaveStateFile(Option<PathBuf>)
LoadStateFile(Option<PathBuf>)
LoadState(Box<UserState>, Option<PathBuf>)
SetStateFile(PathBuf)
SetAboutVisible(bool)
SetKeyHelpVisible(bool)
SetGestureHelpVisible(bool)
SetQuickStartVisible(bool)
SetUrlEntryVisible(bool, Option<Box<dyn Fn(String) -> Message + Send + 'static>>)
SetLicenseVisible(bool)
SetRenameItemVisible(bool)
SetLogsVisible(bool)
SetMouseGestureDragStart(Option<Pos2>)
SetMeasureDragStart(Option<Pos2>)
SetFilterFocused(bool)
SetVariableNameFilterType(VariableNameFilterType)
SetVariableNameFilterCaseInsensitive(bool)
SetVariableIOFilter(VariableIOFilterType, bool)
SetVariableGroupByDirection(bool)
SetUIZoomFactor(f32)
SetPerformanceVisible(bool)
SetContinuousRedraw(bool)
SetCursorWindowVisible(bool)
SetHierarchyStyle(HierarchyStyle)
SetArrowKeyBindings(ArrowKeyBindings)
AddDivider(Option<String>, Option<VisibleItemIndex>)
AddTimeLine(Option<VisibleItemIndex>)
AddMarker
SetMarker
Set a marker at a specific position. If it doesn’t exist, it will be created
RemoveMarker(u8)
Remove marker.
MoveMarkerToCursor(u8)
Set or move a marker to the position of the current cursor.
GoToCursorIfNotInView
Scroll in horizontal direction so that the cursor is visible.
GoToMarkerPosition(u8, usize)
MoveCursorToTransition
MoveTransaction
VariableValueToClipbord(MessageTarget<VisibleItemIndex>)
VariableNameToClipboard(MessageTarget<VisibleItemIndex>)
VariableFullNameToClipboard(MessageTarget<VisibleItemIndex>)
InvalidateDrawCommands
AddGraphic(GraphicId, Graphic)
RemoveGraphic(GraphicId)
VariableDragStarted(VisibleItemIndex)
Variable dragging messages
VariableDragTargetChanged(TargetPosition)
VariableDragFinished
AddDraggedVariables(Vec<VariableRef>)
UnpauseSimulation
Unpauses the simulation if the wave source supports this kind of interactivity. Otherwise does nothing
PauseSimulation
Pause the simulation if the wave source supports this kind of interactivity. Otherwise does nothing
ExpandDrawnItem
Expand the displayed item into subfields. Levels controls how many layers of subfields are expanded. 0 unexpands it completely
SetViewportStrategy(ViewportStrategy)
SetConfigFromString(String)
AddCharToPrompt(char)
Batch(Vec<Message>)
Run more than one message in sequence
AddViewport
RemoveViewport
SelectTheme(Option<String>)
Select Theme
Undo(usize)
Undo the last n changes
Redo(usize)
Redo the last n changes
DumpTree
GroupNew
GroupDissolve(Option<DisplayedItemRef>)
GroupFold(Option<DisplayedItemRef>)
GroupUnfold(Option<DisplayedItemRef>)
GroupFoldRecursive(Option<DisplayedItemRef>)
GroupUnfoldRecursive(Option<DisplayedItemRef>)
GroupFoldAll
GroupUnfoldAll
StartWcpServer
WCP Server
StopWcpServer
SetupChannelWCP
Configures the WCP system to listen for messages over internal channels. This is used to start WCP on wasm
Exit
Exit the application. This has no effect on wasm and closes the window on other platforms
ExpandParameterSection
Should only used for tests. Expands the parameter section so that one can test the rendering.
AsyncDone(AsyncJob)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Message
impl<'de> Deserialize<'de> for Message
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Translator<VarId, ScopeId, Message> for AnyTranslator
impl Translator<VarId, ScopeId, Message> for AnyTranslator
fn name(&self) -> String
Source§fn set_wave_source(&self, wave_source: Option<WaveSource>)
fn set_wave_source(&self, wave_source: Option<WaveSource>)
fn translate( &self, variable: &VariableMeta, value: &VariableValue, ) -> Result<TranslationResult>
fn variable_info(&self, variable: &VariableMeta) -> Result<VariableInfo>
Source§fn translates(&self, variable: &VariableMeta) -> Result<TranslationPreference>
fn translates(&self, variable: &VariableMeta) -> Result<TranslationPreference>
TranslationPreference
] based on if the translator can handle this variable.Source§fn reload(&self, sender: Sender<Message>)
fn reload(&self, sender: Sender<Message>)
perform_work
Source§fn variable_name_info(
&self,
variable: &VariableMeta<VarId, ScopeId>,
) -> Option<VariableNameInfo>
fn variable_name_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Option<VariableNameInfo>
VariableNameInfo
about the specified variable which will be applied globally.
Most translators should simply return None
here, see the
documentation VariableNameInfo
for exceptions to this rule.Source§impl Translator<VarId, ScopeId, Message> for ClockTranslator
impl Translator<VarId, ScopeId, Message> for ClockTranslator
fn name(&self) -> String
fn translate( &self, variable: &VariableMeta<VarId, ScopeId>, value: &VariableValue, ) -> Result<TranslationResult>
fn variable_info(&self, _variable: &VariableMeta) -> Result<VariableInfo>
Source§fn translates(&self, variable: &VariableMeta) -> Result<TranslationPreference>
fn translates(&self, variable: &VariableMeta) -> Result<TranslationPreference>
TranslationPreference
] based on if the translator can handle this variable.§fn set_wave_source(&self, _wave_source: Option<WaveSource>)
fn set_wave_source(&self, _wave_source: Option<WaveSource>)
§fn reload(&self, _sender: Sender<Message>)
fn reload(&self, _sender: Sender<Message>)
perform_work
§fn variable_name_info(
&self,
variable: &VariableMeta<VarId, ScopeId>,
) -> Option<VariableNameInfo>
fn variable_name_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Option<VariableNameInfo>
VariableNameInfo
about the specified variable which will be applied globally.
Most translators should simply return None
here, see the
documentation VariableNameInfo
for exceptions to this rule.Source§impl Translator<VarId, ScopeId, Message> for EnumTranslator
impl Translator<VarId, ScopeId, Message> for EnumTranslator
fn name(&self) -> String
fn translate( &self, meta: &VariableMeta, value: &VariableValue, ) -> Result<TranslationResult>
fn variable_info(&self, _variable: &VariableMeta) -> Result<VariableInfo>
Source§fn translates(&self, variable: &VariableMeta) -> Result<TranslationPreference>
fn translates(&self, variable: &VariableMeta) -> Result<TranslationPreference>
TranslationPreference
] based on if the translator can handle this variable.§fn set_wave_source(&self, _wave_source: Option<WaveSource>)
fn set_wave_source(&self, _wave_source: Option<WaveSource>)
§fn reload(&self, _sender: Sender<Message>)
fn reload(&self, _sender: Sender<Message>)
perform_work
§fn variable_name_info(
&self,
variable: &VariableMeta<VarId, ScopeId>,
) -> Option<VariableNameInfo>
fn variable_name_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Option<VariableNameInfo>
VariableNameInfo
about the specified variable which will be applied globally.
Most translators should simply return None
here, see the
documentation VariableNameInfo
for exceptions to this rule.Source§impl Translator<VarId, ScopeId, Message> for PluginTranslator
impl Translator<VarId, ScopeId, Message> for PluginTranslator
fn name(&self) -> String
Source§fn set_wave_source(&self, wave_source: Option<WaveSource>)
fn set_wave_source(&self, wave_source: Option<WaveSource>)
fn translate( &self, variable: &VariableMeta<VarId, ScopeId>, value: &VariableValue, ) -> Result<TranslationResult>
fn variable_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Result<VariableInfo>
Source§fn translates(
&self,
variable: &VariableMeta<VarId, ScopeId>,
) -> Result<TranslationPreference>
fn translates( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Result<TranslationPreference>
TranslationPreference
] based on if the translator can handle this variable.Source§fn reload(&self, _sender: Sender<Message>)
fn reload(&self, _sender: Sender<Message>)
perform_work
§fn variable_name_info(
&self,
variable: &VariableMeta<VarId, ScopeId>,
) -> Option<VariableNameInfo>
fn variable_name_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Option<VariableNameInfo>
VariableNameInfo
about the specified variable which will be applied globally.
Most translators should simply return None
here, see the
documentation VariableNameInfo
for exceptions to this rule.Source§impl Translator<VarId, ScopeId, Message> for SignedFixedPointTranslator
impl Translator<VarId, ScopeId, Message> for SignedFixedPointTranslator
fn name(&self) -> String
fn translate( &self, variable: &VariableMeta<VarId, ScopeId>, value: &VariableValue, ) -> Result<TranslationResult>
fn variable_info( &self, _: &VariableMeta<VarId, ScopeId>, ) -> Result<VariableInfo>
Source§fn translates(
&self,
variable: &VariableMeta<VarId, ScopeId>,
) -> Result<TranslationPreference>
fn translates( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Result<TranslationPreference>
TranslationPreference
] based on if the translator can handle this variable.§fn set_wave_source(&self, _wave_source: Option<WaveSource>)
fn set_wave_source(&self, _wave_source: Option<WaveSource>)
§fn reload(&self, _sender: Sender<Message>)
fn reload(&self, _sender: Sender<Message>)
perform_work
§fn variable_name_info(
&self,
variable: &VariableMeta<VarId, ScopeId>,
) -> Option<VariableNameInfo>
fn variable_name_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Option<VariableNameInfo>
VariableNameInfo
about the specified variable which will be applied globally.
Most translators should simply return None
here, see the
documentation VariableNameInfo
for exceptions to this rule.Source§impl Translator<VarId, ScopeId, Message> for SpadeTranslator
impl Translator<VarId, ScopeId, Message> for SpadeTranslator
fn name(&self) -> String
fn translate( &self, variable: &VariableMeta, value: &VariableValue, ) -> Result<TranslationResult>
fn variable_info(&self, variable: &VariableMeta) -> Result<VariableInfo>
Source§fn translates(&self, variable: &VariableMeta) -> Result<TranslationPreference>
fn translates(&self, variable: &VariableMeta) -> Result<TranslationPreference>
TranslationPreference
] based on if the translator can handle this variable.Source§fn variable_name_info(
&self,
variable: &VariableMeta<VarId, ScopeId>,
) -> Option<VariableNameInfo>
fn variable_name_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Option<VariableNameInfo>
VariableNameInfo
about the specified variable which will be applied globally.
Most translators should simply return None
here, see the
documentation VariableNameInfo
for exceptions to this rule.Source§fn reload(&self, sender: Sender<Message>)
fn reload(&self, sender: Sender<Message>)
perform_work
§fn set_wave_source(&self, _wave_source: Option<WaveSource>)
fn set_wave_source(&self, _wave_source: Option<WaveSource>)
Source§impl Translator<VarId, ScopeId, Message> for StringTranslator
impl Translator<VarId, ScopeId, Message> for StringTranslator
fn name(&self) -> String
fn translate( &self, _variable: &VariableMeta, value: &VariableValue, ) -> Result<TranslationResult>
fn variable_info(&self, _variable: &VariableMeta) -> Result<VariableInfo>
Source§fn translates(&self, variable: &VariableMeta) -> Result<TranslationPreference>
fn translates(&self, variable: &VariableMeta) -> Result<TranslationPreference>
TranslationPreference
] based on if the translator can handle this variable.§fn set_wave_source(&self, _wave_source: Option<WaveSource>)
fn set_wave_source(&self, _wave_source: Option<WaveSource>)
§fn reload(&self, _sender: Sender<Message>)
fn reload(&self, _sender: Sender<Message>)
perform_work
§fn variable_name_info(
&self,
variable: &VariableMeta<VarId, ScopeId>,
) -> Option<VariableNameInfo>
fn variable_name_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Option<VariableNameInfo>
VariableNameInfo
about the specified variable which will be applied globally.
Most translators should simply return None
here, see the
documentation VariableNameInfo
for exceptions to this rule.Source§impl Translator<VarId, ScopeId, Message> for UnsignedFixedPointTranslator
impl Translator<VarId, ScopeId, Message> for UnsignedFixedPointTranslator
fn name(&self) -> String
fn translate( &self, variable: &VariableMeta<VarId, ScopeId>, value: &VariableValue, ) -> Result<TranslationResult>
fn variable_info( &self, _: &VariableMeta<VarId, ScopeId>, ) -> Result<VariableInfo>
Source§fn translates(
&self,
variable: &VariableMeta<VarId, ScopeId>,
) -> Result<TranslationPreference>
fn translates( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Result<TranslationPreference>
TranslationPreference
] based on if the translator can handle this variable.§fn set_wave_source(&self, _wave_source: Option<WaveSource>)
fn set_wave_source(&self, _wave_source: Option<WaveSource>)
§fn reload(&self, _sender: Sender<Message>)
fn reload(&self, _sender: Sender<Message>)
perform_work
§fn variable_name_info(
&self,
variable: &VariableMeta<VarId, ScopeId>,
) -> Option<VariableNameInfo>
fn variable_name_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Option<VariableNameInfo>
VariableNameInfo
about the specified variable which will be applied globally.
Most translators should simply return None
here, see the
documentation VariableNameInfo
for exceptions to this rule.Auto Trait Implementations§
impl !Freeze for Message
impl !RefUnwindSafe for Message
impl Send for Message
impl !Sync for Message
impl Unpin for Message
impl !UnwindSafe for Message
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
self
file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
self
file descriptor. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg
or
a color-specific method, such as OwoColorize::green
, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg
or
a color-specific method, such as OwoColorize::on_yellow
, Read moreSource§fn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
Source§fn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
Source§fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
Source§fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.