Struct relm4::RelmApp

source ·
pub struct RelmApp<M: Debug + 'static> { /* private fields */ }
Expand description

An app that runs the main application.

Implementations§

source§

impl<M: Debug + 'static> RelmApp<M>

source

pub fn new(app_id: &str) -> Self

Create a new Relm4 application.

This function will create a new gtk::Application object if necessary.

If the libadwaita feature is enabled, then the created gtk::Application will be an instance of adw::Application. This can be overridden by passing your own application object to RelmApp::from_app.

Examples found in repository?
examples/menu.rs (line 168)
167
168
169
170
fn main() {
    let app = RelmApp::new("relm4.example.menu");
    app.run::<App>(0);
}
More examples
Hide additional examples
examples/data_binding.rs (line 102)
101
102
103
104
fn main() {
    let app = RelmApp::new("relm4.example.simple");
    app.run::<App>(0);
}
examples/entry.rs (line 132)
131
132
133
134
fn main() {
    let app = RelmApp::new("relm4.example.entry");
    app.run::<App>(());
}
examples/simple.rs (line 76)
75
76
77
78
fn main() {
    let app = RelmApp::new("relm4.example.simple");
    app.run::<App>(0);
}
examples/to_do.rs (line 162)
161
162
163
164
fn main() {
    let app = RelmApp::new("relm4.example.to_do");
    app.run::<App>(());
}
examples/toast.rs (line 108)
107
108
109
110
fn main() {
    let app = RelmApp::new("relm4.example.toast");
    app.run::<App>(());
}
source

pub fn from_app(app: impl IsA<Application>) -> Self

Create a Relm4 application with a provided gtk::Application.

source

pub fn with_broker(self, broker: &'static MessageBroker<M>) -> Self

Add MessageBroker to the top-level component.

source

pub fn with_args(self, args: Vec<String>) -> Self

Add command line arguments to run with.

source

pub fn visible_on_activate(self, visible: bool) -> Self

If true, make the window visible whenever the app is activated (e. g. every time RelmApp::run is called).

By default, this value is true. If you don’t want the window to be visible immediately (especially when using async components), you can set this to false and call WidgetExt::set_visible() manually on your window.

source

pub fn set_global_css(&self, style_data: &str)

Sets a custom global stylesheet.

Examples found in repository?
examples/tracker.rs (line 125)
123
124
125
126
127
128
fn main() {
    let app = RelmApp::new("relm4.example.tracker");
    app.set_global_css(".identical { background: #00ad5c; }");

    app.run::<App>(());
}
source

pub fn set_global_css_from_file<P: AsRef<Path>>( &self, path: P ) -> Result<(), Error>

Sets a custom global stylesheet from a file.

If the file doesn’t exist a tracing::error message will be emitted and an std::io::Error will be returned.

source

pub fn run<C>(self, payload: C::Init)
where C: Component<Input = M>, C::Root: AsRef<Window>,

Runs the application, returns once the application is closed.

Examples found in repository?
examples/menu.rs (line 169)
167
168
169
170
fn main() {
    let app = RelmApp::new("relm4.example.menu");
    app.run::<App>(0);
}
More examples
Hide additional examples
examples/data_binding.rs (line 103)
101
102
103
104
fn main() {
    let app = RelmApp::new("relm4.example.simple");
    app.run::<App>(0);
}
examples/entry.rs (line 133)
131
132
133
134
fn main() {
    let app = RelmApp::new("relm4.example.entry");
    app.run::<App>(());
}
examples/simple.rs (line 77)
75
76
77
78
fn main() {
    let app = RelmApp::new("relm4.example.simple");
    app.run::<App>(0);
}
examples/to_do.rs (line 163)
161
162
163
164
fn main() {
    let app = RelmApp::new("relm4.example.to_do");
    app.run::<App>(());
}
examples/toast.rs (line 109)
107
108
109
110
fn main() {
    let app = RelmApp::new("relm4.example.toast");
    app.run::<App>(());
}
source

pub fn run_async<C>(self, payload: C::Init)
where C: AsyncComponent<Input = M>, C::Root: AsRef<Window>,

Runs the application, returns once the application is closed.

Examples found in repository?
examples/simple_async.rs (line 108)
106
107
108
109
fn main() {
    let app = RelmApp::new("relm4.example.simple_async");
    app.run_async::<App>(0);
}

Trait Implementations§

source§

impl<M: Debug + Debug + 'static> Debug for RelmApp<M>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<M> Freeze for RelmApp<M>

§

impl<M> RefUnwindSafe for RelmApp<M>

§

impl<M> !Send for RelmApp<M>

§

impl<M> !Sync for RelmApp<M>

§

impl<M> Unpin for RelmApp<M>

§

impl<M> UnwindSafe for RelmApp<M>

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<C> AsyncPosition<()> for C

source§

fn position(_index: usize)

Returns the position. 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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

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<C, I> Position<(), I> for C

source§

fn position(&self, _index: &I)

Returns the position. Read more
source§

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

§

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

§

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