#[derive(Debug, Clone, PartialEq)]
pub enum Action {
Quit,
SwitchView(View),
ViewNext,
ViewPrev,
FocusNext,
FocusPrev,
Up,
Down,
Increment,
Decrement,
Confirm,
Cancel,
Unfocus,
Generate,
OpenModelSelector,
RandomizeSeed,
ExpandPrompt,
SaveImage,
ToggleMode,
CompareModels,
HistoryPrev,
HistoryNext,
SearchHistory,
Regenerate,
EditAndGenerate,
DeleteImage,
OpenFile,
UpscaleImage,
PullModel,
RemoveModel,
UnloadModel,
FilterModels,
ShowHelp,
ToggleNegativePrompt,
PanLeft,
PanRight,
PanUp,
PanDown,
ZoomIn,
ZoomOut,
ResetView,
GridLeft,
GridRight,
ScriptMoveDown,
ScriptMoveUp,
ScriptReorderDown,
ScriptReorderUp,
ScriptAddAfter,
ScriptAddBefore,
ScriptDelete,
ScriptCycleTransition,
ScriptSave,
ScriptLoad,
ScriptOpenPromptEditor,
ScriptOpenFramesEditor,
ScriptModalChar(char),
ScriptModalBackspace,
ScriptModalNewline,
ScriptModalSubmit,
ScriptModalCancel,
ScriptSubmit,
None,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum View {
Generate,
Gallery,
Models,
Queue,
Settings,
Script,
}
impl View {
pub fn label(&self) -> &'static str {
match self {
View::Generate => "Generate",
View::Gallery => "Gallery",
View::Models => "Models",
View::Queue => "Queue",
View::Settings => "Settings",
View::Script => "Script",
}
}
pub fn index(&self) -> usize {
match self {
View::Generate => 0,
View::Gallery => 1,
View::Models => 2,
View::Queue => 3,
View::Settings => 4,
View::Script => 5,
}
}
pub const ALL: [View; 6] = [
View::Generate,
View::Gallery,
View::Models,
View::Queue,
View::Settings,
View::Script,
];
}