33 extern template class widget<i_status_bar>;
40 enum class style : uint32_t
43 DisplayMessage = 0x0001,
44 DisplayKeyboardLocks = 0x0010,
45 DisplaySizeGrip = 0x4000,
46 BackgroundAsWindowBorder = 0x8000
48 friend constexpr style
operator|(style aLhs, style aRhs)
50 return static_cast<style
>(
static_cast<uint32_t
>(aLhs) |
static_cast<uint32_t
>(aRhs));
52 friend constexpr style
operator&(style aLhs, style aRhs)
54 return static_cast<style
>(
static_cast<uint32_t
>(aLhs) &
static_cast<uint32_t
>(aRhs));
71 class keyboard_lock_status :
public widget<>
74 keyboard_lock_status(
i_layout& aLayout);
76 neogfx::size_policy size_policy()
const override;
79 std::unique_ptr<widget_timer> iUpdater;
86 neogfx::size_policy size_policy()
const override;
92 struct no_message : std::runtime_error {
no_message() : std::runtime_error(
"neogfx::status_bar::no_message") {} };
124 void set_font(optional_font
const& aFont)
override;
129 void update_widgets();
133 std::optional<string> iMessage;
143 keyboard_lock_status iKeyboardLockStatus;
144 mutable std::map<color, std::optional<texture>> iSizeGripTexture;
145 size_grip_widget iSizeGrip;
neogfx::size_policy size_policy() const override
void paint(i_graphics_context &aGc) const override
separator(i_layout &aStatusBarLayout)
separator(i_widget &aStatusBar)
size minimum_size(optional_size const &aAvailableSpace) const override
void clear_message() override
const i_widget & size_grip() const override
i_layout & normal_layout() override
widget_part part(const point &aPosition) const override
void add_permanent_widget_at(widget_index aPosition, i_ref_ptr< i_widget > const &aWidget) override
void add_normal_widget(i_ref_ptr< i_widget > const &aWidget) override
void add_normal_widget_at(widget_index aPosition, i_ref_ptr< i_widget > const &aWidget) override
bool is_managing_layout() const override
i_layout & permanent_layout() override
color palette_color(color_role aColorRole) const override
bool have_message() const override
void set_message(i_string const &aMessage) override
void add_permanent_widget(i_ref_ptr< i_widget > const &aWidget) override
void add_permanent_widget_at(widget_index aPosition, i_widget &aWidget) override
label & idle_widget() override
neogfx::size_policy size_policy() const override
friend constexpr style operator|(style aLhs, style aRhs)
i_string const & message() const override
void add_normal_widget(i_widget &aWidget) override
void add_permanent_widget(i_widget &aWidget) override
label & message_widget() override
void set_font(optional_font const &aFont) override
void add_normal_widget_at(widget_index aPosition, i_widget &aWidget) override
bool has_palette_color(color_role aColorRole) const override
status_bar(i_standard_layout_container &aContainer, style aStyle=style::DisplayMessage|style::DisplayKeyboardLocks|style::DisplaySizeGrip)
friend constexpr style operator&(style aLhs, style aRhs)