diff options
Diffstat (limited to 'schist_desktop_gui/src')
| -rw-r--r-- | schist_desktop_gui/src/config.rs | 8 | ||||
| -rw-r--r-- | schist_desktop_gui/src/main.rs | 20 | ||||
| -rw-r--r-- | schist_desktop_gui/src/message.rs | 3 | ||||
| -rw-r--r-- | schist_desktop_gui/src/settings.rs | 7 | ||||
| -rw-r--r-- | schist_desktop_gui/src/state.rs | 18 | ||||
| -rw-r--r-- | schist_desktop_gui/src/theme.rs | 7 | ||||
| -rw-r--r-- | schist_desktop_gui/src/view.rs | 7 | ||||
| -rw-r--r-- | schist_desktop_gui/src/window_settings.rs | 7 |
8 files changed, 75 insertions, 2 deletions
diff --git a/schist_desktop_gui/src/config.rs b/schist_desktop_gui/src/config.rs new file mode 100644 index 0000000..cab9eba --- /dev/null +++ b/schist_desktop_gui/src/config.rs @@ -0,0 +1,8 @@ +#[derive(Clone)] +pub struct Config {} + +impl Default for Config { + fn default() -> Self { + Self {} + } +} diff --git a/schist_desktop_gui/src/main.rs b/schist_desktop_gui/src/main.rs index f79c691..b836453 100644 --- a/schist_desktop_gui/src/main.rs +++ b/schist_desktop_gui/src/main.rs @@ -1,2 +1,18 @@ -fn main() { -} +mod config; +mod message; +mod settings; +mod state; +mod theme; +mod window_settings; +mod view; + +use crate::{config::Config, settings::make_settings, state::State, theme::make_theme, window_settings::make_window_settings, view::view}; + +fn main() -> iced::Result { + let config = Config::default(); + iced::application("Schist", State::update, view) + .settings(make_settings(&config.clone())) + .theme(|state: &State| make_theme(state)) + .window(make_window_settings(&config.clone())) + .run() +}
\ No newline at end of file diff --git a/schist_desktop_gui/src/message.rs b/schist_desktop_gui/src/message.rs new file mode 100644 index 0000000..10f734b --- /dev/null +++ b/schist_desktop_gui/src/message.rs @@ -0,0 +1,3 @@ +#[derive(Debug)] +pub enum Message { +} diff --git a/schist_desktop_gui/src/settings.rs b/schist_desktop_gui/src/settings.rs new file mode 100644 index 0000000..37fb8ca --- /dev/null +++ b/schist_desktop_gui/src/settings.rs @@ -0,0 +1,7 @@ +use iced::Settings; + +use crate::config::Config; + +pub fn make_settings(_config: &Config) -> Settings { + Settings::default() +}
\ No newline at end of file diff --git a/schist_desktop_gui/src/state.rs b/schist_desktop_gui/src/state.rs new file mode 100644 index 0000000..0183104 --- /dev/null +++ b/schist_desktop_gui/src/state.rs @@ -0,0 +1,18 @@ +use crate::message::Message; + +pub struct State { + pub greeting: String, +} + +impl State { + pub fn update(&mut self, _message: Message) { + } +} + +impl Default for State { + fn default() -> Self { + Self { + greeting: String::from("Hello, world!"), + } + } +} diff --git a/schist_desktop_gui/src/theme.rs b/schist_desktop_gui/src/theme.rs new file mode 100644 index 0000000..695ff8a --- /dev/null +++ b/schist_desktop_gui/src/theme.rs @@ -0,0 +1,7 @@ +use iced::Theme; + +use crate::state::State; + +pub fn make_theme(_state: &State) -> Theme { + Theme::GruvboxDark +}
\ No newline at end of file diff --git a/schist_desktop_gui/src/view.rs b/schist_desktop_gui/src/view.rs new file mode 100644 index 0000000..7d169b5 --- /dev/null +++ b/schist_desktop_gui/src/view.rs @@ -0,0 +1,7 @@ +use iced::widget::{column, Column}; + +use crate::{message::Message, state::State}; + +pub fn view(state: &State) -> Column<Message> { + column![iced::widget::text(state.greeting.clone())] +} diff --git a/schist_desktop_gui/src/window_settings.rs b/schist_desktop_gui/src/window_settings.rs new file mode 100644 index 0000000..cd71d09 --- /dev/null +++ b/schist_desktop_gui/src/window_settings.rs @@ -0,0 +1,7 @@ +use iced::window::Settings; + +use crate::config::Config; + +pub fn make_window_settings(_config: &Config) -> Settings { + Settings::default() +}
\ No newline at end of file |
