Skip to main content

IconRole

Enum IconRole 

Source
#[non_exhaustive]
pub enum IconRole {
Show 42 variants DialogWarning, DialogError, DialogInfo, DialogQuestion, DialogSuccess, Shield, WindowClose, WindowMinimize, WindowMaximize, WindowRestore, ActionSave, ActionDelete, ActionCopy, ActionPaste, ActionCut, ActionUndo, ActionRedo, ActionSearch, ActionSettings, ActionEdit, ActionAdd, ActionRemove, ActionRefresh, ActionPrint, NavBack, NavForward, NavUp, NavDown, NavHome, NavMenu, FileGeneric, FolderClosed, FolderOpen, TrashEmpty, TrashFull, StatusBusy, StatusCheck, StatusError, UserAccount, Notification, Help, Lock,
}
Expand description

Semantic icon roles for cross-platform icon resolution.

Each variant represents a conceptual icon role (not a specific icon image). Platform-specific icon identifiers are resolved via icon_name() using an IconSet.

§Categories

Variants are grouped by prefix into 7 categories:

  • Dialog (6): Alerts and dialog indicators
  • Window (4): Window control buttons
  • Action (14): Common user actions
  • Navigation (6): Directional and structural navigation
  • Files (5): File and folder representations
  • Status (3): State indicators
  • System (4): System-level UI elements

§Examples

use native_theme::IconRole;

let role = IconRole::ActionSave;
match role {
    IconRole::ActionSave => println!("save icon"),
    _ => println!("other icon"),
}

// Iterate all roles
assert_eq!(IconRole::ALL.len(), 42);

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

DialogWarning

Warning indicator for dialogs

§

DialogError

Error indicator for dialogs

§

DialogInfo

Informational indicator for dialogs

§

DialogQuestion

Question indicator for dialogs

§

DialogSuccess

Success/confirmation indicator for dialogs

§

Shield

Security/shield indicator

§

WindowClose

Close window button

§

WindowMinimize

Minimize window button

§

WindowMaximize

Maximize window button

§

WindowRestore

Restore window button (from maximized state)

§

ActionSave

Save action

§

ActionDelete

Delete action

§

ActionCopy

Copy to clipboard

§

ActionPaste

Paste from clipboard

§

ActionCut

Cut to clipboard

§

ActionUndo

Undo last action

§

ActionRedo

Redo last undone action

§

ActionSearch

Search / find

§

ActionSettings

Settings / preferences

§

ActionEdit

Edit / modify

§

ActionAdd

Add / create new item

§

ActionRemove

Remove item

§

ActionRefresh

Refresh / reload

§

ActionPrint

Print

§

NavBack

Navigate backward

§

NavForward

Navigate forward

§

NavUp

Navigate up in hierarchy

§

NavDown

Navigate down in hierarchy

§

NavHome

Navigate to home / root

§

NavMenu

Open menu / hamburger

§

FileGeneric

Generic file icon

§

FolderClosed

Closed folder

§

FolderOpen

Open folder

§

TrashEmpty

Empty trash / recycle bin

§

TrashFull

Full trash / recycle bin

§

StatusBusy

Busy / working state indicator

§

StatusCheck

Check / success indicator

§

StatusError

Error state indicator

§

UserAccount

User account / profile

§

Notification

Notification / bell

§

Help

Help / question mark

§

Lock

Lock / security

Implementations§

Source§

impl IconRole

Source

pub const ALL: [IconRole; 42]

All icon role variants, useful for iteration and exhaustive testing.

Contains exactly 42 variants, one for each role, in declaration order.

Trait Implementations§

Source§

impl Clone for IconRole

Source§

fn clone(&self) -> IconRole

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for IconRole

Source§

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

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

impl Hash for IconRole

Source§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl IconProvider for IconRole

Source§

fn icon_name(&self, set: IconSet) -> Option<&str>

Return the platform/theme-specific icon name for this icon in the given set.
Source§

fn icon_svg(&self, set: IconSet) -> Option<&'static [u8]>

Return bundled SVG bytes for this icon in the given set.
Source§

impl PartialEq for IconRole

Source§

fn eq(&self, other: &IconRole) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for IconRole

Source§

impl Eq for IconRole

Source§

impl StructuralPartialEq for IconRole

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 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.