27template<
class WindowBase>
37 template <
typename... Args>
80 WindowBase::Refresh();
85template<
class ButtonBase>
100 template <
typename... Args>
179 ButtonBase::Refresh();
184template<
typename AButtonBase>
191 std::map<int, std::array<int, AButton::AButtonStateCount>>
mSets;
197 template <
typename... Args>
204 void SetImageIndices(
int setIndex,
int up,
int over,
int down,
int overDown,
int disabled)
206 mSets[setIndex] = { up, over, down, overDown, disabled };
207 AButtonBase::SetAlternateImages(
243 AButtonBase::Refresh(
false);
253 for(
const auto& p :
mSets)
254 AButtonBase::SetAlternateImages(
269 AButtonBase::Refresh(
false);
Subscription Subscribe(Callback callback)
Connect a callback to the Publisher; later-connected are called earlier.
A move-only handle representing a connection to a Publisher.
A listener notified of changes in preferences.
virtual void UpdatePrefs()=0
wxColour & Colour(int iIndex)
wxImage & Image(int iIndex)
wxBitmap & Bitmap(int iIndex)
int mBackgroundColorIndex
void SetBackgroundColorIndex(int index)
std::optional< TranslatableString > mTranslatableLabel
void UpdatePrefs() override
void OnThemeChange(ThemeChangeMessage message)
Observer::Subscription mThemeChangeSubscription
void SetTranslatableLabel(TranslatableString label)
int mForegroundColorIndex
void SetForegroundColorIndex(int index)
ThemedWindowWrapper(Args &&... args)
Holds a msgid for the translation catalog; may also bind format arguments.
std::optional< PreferredSystemAppearance > appearance