Enum Message

Source
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

Fields

§delta: Vec2
§viewport_idx: usize
§

CanvasZoom

Fields

§mouse_ptr: Option<BigInt>
§delta: f32
§viewport_idx: usize
§

ZoomToRange

Fields

§start: BigInt
§viewport_idx: usize
§

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.

Fields

§state: String
§

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.

Fields

§reload_file: bool
§do_not_show_again: bool
§

UpdateReloadWaveformDialog(ReloadWaveformDialog)

Update the waveform dialog UI with the provided dialog model.

§

OpenSiblingStateFile(bool)

§

SuggestOpenSiblingStateFile

§

CloseOpenSiblingStateFileDialog

Fields

§load_state: bool
§do_not_show_again: bool
§

UpdateOpenSiblingStateFileDialog(OpenSiblingStateFileDialog)

§

RemovePlaceholders

§

ZoomToFit

Fields

§viewport_idx: usize
§

GoToStart

Fields

§viewport_idx: usize
§

GoToEnd

Fields

§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)

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

Fields

§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

Fields

§time: BigInt
§move_focus: bool
§

SetMarker

Set a marker at a specific position. If it doesn’t exist, it will be created

Fields

§id: u8
§time: BigInt
§

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

Fields

§next: bool
§skip_zero: bool
§

MoveTransaction

Fields

§next: bool
§

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

Fields

§levels: usize
§

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

Fields

§address: Option<String>
§initiate: bool
§

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 Debug for Message

Source§

fn fmt(&self, __derive_more_f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Message

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Translator<VarId, ScopeId, Message> for AnyTranslator

Source§

fn name(&self) -> String

Source§

fn set_wave_source(&self, wave_source: Option<WaveSource>)

Notify the translator that the wave source has changed to the specified source
Source§

fn translate( &self, variable: &VariableMeta, value: &VariableValue, ) -> Result<TranslationResult>

Source§

fn variable_info(&self, variable: &VariableMeta) -> Result<VariableInfo>

Source§

fn translates(&self, variable: &VariableMeta) -> Result<TranslationPreference>

Return [TranslationPreference] based on if the translator can handle this variable.
Source§

fn reload(&self, sender: Sender<Message>)

By default translators are stateless, but if they need to reload, they can do by defining this method. Long running translators should run the reloading in the background using perform_work
Source§

fn variable_name_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Option<VariableNameInfo>

Returns a 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

Source§

fn name(&self) -> String

Source§

fn translate( &self, variable: &VariableMeta<VarId, ScopeId>, value: &VariableValue, ) -> Result<TranslationResult>

Source§

fn variable_info(&self, _variable: &VariableMeta) -> Result<VariableInfo>

Source§

fn translates(&self, variable: &VariableMeta) -> Result<TranslationPreference>

Return [TranslationPreference] based on if the translator can handle this variable.
§

fn set_wave_source(&self, _wave_source: Option<WaveSource>)

Notify the translator that the wave source has changed to the specified source
§

fn reload(&self, _sender: Sender<Message>)

By default translators are stateless, but if they need to reload, they can do by defining this method. Long running translators should run the reloading in the background using perform_work
§

fn variable_name_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Option<VariableNameInfo>

Returns a 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

Source§

fn name(&self) -> String

Source§

fn translate( &self, meta: &VariableMeta, value: &VariableValue, ) -> Result<TranslationResult>

Source§

fn variable_info(&self, _variable: &VariableMeta) -> Result<VariableInfo>

Source§

fn translates(&self, variable: &VariableMeta) -> Result<TranslationPreference>

Return [TranslationPreference] based on if the translator can handle this variable.
§

fn set_wave_source(&self, _wave_source: Option<WaveSource>)

Notify the translator that the wave source has changed to the specified source
§

fn reload(&self, _sender: Sender<Message>)

By default translators are stateless, but if they need to reload, they can do by defining this method. Long running translators should run the reloading in the background using perform_work
§

fn variable_name_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Option<VariableNameInfo>

Returns a 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

Source§

fn name(&self) -> String

Source§

fn set_wave_source(&self, wave_source: Option<WaveSource>)

Notify the translator that the wave source has changed to the specified source
Source§

fn translate( &self, variable: &VariableMeta<VarId, ScopeId>, value: &VariableValue, ) -> Result<TranslationResult>

Source§

fn variable_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Result<VariableInfo>

Source§

fn translates( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Result<TranslationPreference>

Return [TranslationPreference] based on if the translator can handle this variable.
Source§

fn reload(&self, _sender: Sender<Message>)

By default translators are stateless, but if they need to reload, they can do by defining this method. Long running translators should run the reloading in the background using perform_work
§

fn variable_name_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Option<VariableNameInfo>

Returns a 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

Source§

fn name(&self) -> String

Source§

fn translate( &self, variable: &VariableMeta<VarId, ScopeId>, value: &VariableValue, ) -> Result<TranslationResult>

Source§

fn variable_info( &self, _: &VariableMeta<VarId, ScopeId>, ) -> Result<VariableInfo>

Source§

fn translates( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Result<TranslationPreference>

Return [TranslationPreference] based on if the translator can handle this variable.
§

fn set_wave_source(&self, _wave_source: Option<WaveSource>)

Notify the translator that the wave source has changed to the specified source
§

fn reload(&self, _sender: Sender<Message>)

By default translators are stateless, but if they need to reload, they can do by defining this method. Long running translators should run the reloading in the background using perform_work
§

fn variable_name_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Option<VariableNameInfo>

Returns a 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

Source§

fn name(&self) -> String

Source§

fn translate( &self, variable: &VariableMeta, value: &VariableValue, ) -> Result<TranslationResult>

Source§

fn variable_info(&self, variable: &VariableMeta) -> Result<VariableInfo>

Source§

fn translates(&self, variable: &VariableMeta) -> Result<TranslationPreference>

Return [TranslationPreference] based on if the translator can handle this variable.
Source§

fn variable_name_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Option<VariableNameInfo>

Returns a 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>)

By default translators are stateless, but if they need to reload, they can do by defining this method. Long running translators should run the reloading in the background using perform_work
§

fn set_wave_source(&self, _wave_source: Option<WaveSource>)

Notify the translator that the wave source has changed to the specified source
Source§

impl Translator<VarId, ScopeId, Message> for StringTranslator

Source§

fn name(&self) -> String

Source§

fn translate( &self, _variable: &VariableMeta, value: &VariableValue, ) -> Result<TranslationResult>

Source§

fn variable_info(&self, _variable: &VariableMeta) -> Result<VariableInfo>

Source§

fn translates(&self, variable: &VariableMeta) -> Result<TranslationPreference>

Return [TranslationPreference] based on if the translator can handle this variable.
§

fn set_wave_source(&self, _wave_source: Option<WaveSource>)

Notify the translator that the wave source has changed to the specified source
§

fn reload(&self, _sender: Sender<Message>)

By default translators are stateless, but if they need to reload, they can do by defining this method. Long running translators should run the reloading in the background using perform_work
§

fn variable_name_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Option<VariableNameInfo>

Returns a 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

Source§

fn name(&self) -> String

Source§

fn translate( &self, variable: &VariableMeta<VarId, ScopeId>, value: &VariableValue, ) -> Result<TranslationResult>

Source§

fn variable_info( &self, _: &VariableMeta<VarId, ScopeId>, ) -> Result<VariableInfo>

Source§

fn translates( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Result<TranslationPreference>

Return [TranslationPreference] based on if the translator can handle this variable.
§

fn set_wave_source(&self, _wave_source: Option<WaveSource>)

Notify the translator that the wave source has changed to the specified source
§

fn reload(&self, _sender: Sender<Message>)

By default translators are stateless, but if they need to reload, they can do by defining this method. Long running translators should run the reloading in the background using perform_work
§

fn variable_name_info( &self, variable: &VariableMeta<VarId, ScopeId>, ) -> Option<VariableNameInfo>

Returns a 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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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>

Convert 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)

Convert &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)

Convert &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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> GetSetFdFlags for T

Source§

fn get_fd_flags(&self) -> Result<FdFlags, Error>
where T: AsFilelike,

Query the “status” flags for the self file descriptor.
Source§

fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>
where T: AsFilelike,

Create a new SetFdFlags value for use with set_fd_flags. Read more
Source§

fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>
where T: AsFilelike,

Set the “status” flags for the self file descriptor. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
Source§

impl<D> OwoColorize for D

Source§

fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
where C: Color,

Set the foreground color generically Read more
Source§

fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
where C: Color,

Set the background color generically. Read more
Source§

fn black(&self) -> FgColorDisplay<'_, Black, Self>

Change the foreground color to black
Source§

fn on_black(&self) -> BgColorDisplay<'_, Black, Self>

Change the background color to black
Source§

fn red(&self) -> FgColorDisplay<'_, Red, Self>

Change the foreground color to red
Source§

fn on_red(&self) -> BgColorDisplay<'_, Red, Self>

Change the background color to red
Source§

fn green(&self) -> FgColorDisplay<'_, Green, Self>

Change the foreground color to green
Source§

fn on_green(&self) -> BgColorDisplay<'_, Green, Self>

Change the background color to green
Source§

fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>

Change the foreground color to yellow
Source§

fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>

Change the background color to yellow
Source§

fn blue(&self) -> FgColorDisplay<'_, Blue, Self>

Change the foreground color to blue
Source§

fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>

Change the background color to blue
Source§

fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to magenta
Source§

fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to magenta
Source§

fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to purple
Source§

fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to purple
Source§

fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>

Change the foreground color to cyan
Source§

fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>

Change the background color to cyan
Source§

fn white(&self) -> FgColorDisplay<'_, White, Self>

Change the foreground color to white
Source§

fn on_white(&self) -> BgColorDisplay<'_, White, Self>

Change the background color to white
Source§

fn default_color(&self) -> FgColorDisplay<'_, Default, Self>

Change the foreground color to the terminal default
Source§

fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>

Change the background color to the terminal default
Source§

fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>

Change the foreground color to bright black
Source§

fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>

Change the background color to bright black
Source§

fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>

Change the foreground color to bright red
Source§

fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>

Change the background color to bright red
Source§

fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>

Change the foreground color to bright green
Source§

fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>

Change the background color to bright green
Source§

fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>

Change the foreground color to bright yellow
Source§

fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>

Change the background color to bright yellow
Source§

fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>

Change the foreground color to bright blue
Source§

fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>

Change the background color to bright blue
Source§

fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright magenta
Source§

fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright magenta
Source§

fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright purple
Source§

fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright purple
Source§

fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>

Change the foreground color to bright cyan
Source§

fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>

Change the background color to bright cyan
Source§

fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>

Change the foreground color to bright white
Source§

fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>

Change the background color to bright white
Source§

fn bold(&self) -> BoldDisplay<'_, Self>

Make the text bold
Source§

fn dimmed(&self) -> DimDisplay<'_, Self>

Make the text dim
Source§

fn italic(&self) -> ItalicDisplay<'_, Self>

Make the text italicized
Source§

fn underline(&self) -> UnderlineDisplay<'_, Self>

Make the text underlined
Make the text blink
Make the text blink (but fast!)
Source§

fn reversed(&self) -> ReversedDisplay<'_, Self>

Swap the foreground and background colors
Source§

fn hidden(&self) -> HiddenDisplay<'_, Self>

Hide the text
Source§

fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>

Cross out the text
Source§

fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either OwoColorize::fg or a color-specific method, such as OwoColorize::green, Read more
Source§

fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either OwoColorize::bg or a color-specific method, such as OwoColorize::on_yellow, Read more
Source§

fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the foreground color to a specific RGB value.
Source§

fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the background color to a specific RGB value.
Source§

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.
Source§

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.
Source§

fn style(&self, style: Style) -> Styled<&Self>

Apply a runtime-determined style
Source§

impl<T> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows 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
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows 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
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Pointee for T

Source§

type Pointer = u32

Source§

fn debug( pointer: <T as Pointee>::Pointer, f: &mut Formatter<'_>, ) -> Result<(), Error>

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .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
where Self: BorrowMut<B>, B: ?Sized,

Calls .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
where Self: AsRef<R>, R: ?Sized,

Calls .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
where Self: AsMut<R>, R: ?Sized,

Calls .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
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,