ManaPlus
Public Member Functions | Private Member Functions | Private Attributes
SetupWindow Class Reference

#include <setupwindow.h>

Inheritance diagram for SetupWindow:
Window ActionListener BasicContainer2 MouseListener WidgetListener BasicContainer Widget WidgetDeathListener Widget2

Public Member Functions

 SetupWindow ()
 
 ~SetupWindow ()
 
void postInit ()
 
void action (const ActionEvent &event)
 
void setInGame (const bool inGame)
 
void externalUpdate ()
 
void externalUnload ()
 
void registerWindowForReset (Window *const window)
 
void unregisterWindowForReset (const Window *const window)
 
void hideWindows ()
 
void clearWindowsForReset ()
 
void doCancel ()
 
void activateTab (const std::string &name)
 
void setVisible (Visible visible)
 
void widgetResized (const Event &event)
 
- Public Member Functions inherited from Window
 Window (const std::string &caption, const Modal modal, Window *const parent, std::string skin)
 
 ~Window ()
 
void draw (Graphics *const graphics)
 
void safeDraw (Graphics *const graphics)
 
void setContentSize (int width, int height)
 
void setLocationRelativeTo (const Widget *const widget)
 
void setLocationHorisontallyRelativeTo (const Widget *const widget)
 
void setLocationRelativeTo (const ImagePosition::Type &position, int offsetX, int offsetY)
 
void setResizable (const bool resize)
 
void redraw ()
 
void widgetMoved (const Event &event)
 
void widgetHidden (const Event &event)
 
void setCloseButton (const bool flag)
 
bool getCloseButton () const
 
void setAllowClose (const bool b)
 
bool getAlowClose () const
 
bool isResizable () const
 
void setMinWidth (const int width)
 
int getMinWidth () const
 
void setMinHeight (const int height)
 
int getMinHeight () const
 
void setMaxWidth (const int width)
 
int getMaxWidth () const
 
void setMaxHeight (const int height)
 
int getMaxHeight () const
 
void setShowTitle (bool flag)
 
void setStickyButton (const bool flag)
 
void setSticky (const bool sticky)
 
bool isSticky () const
 
void setStickyButtonLock (const bool sticky)
 
bool isStickyButtonLock () const
 
void setVisible (const Visible visible, const bool forceSticky)
 
bool isDefaultVisible () const
 
void setDefaultVisible (const bool save)
 
bool willSaveVisible () const
 
void setSaveVisible (const bool save)
 
WindowgetParentWindow () const
 
virtual void scheduleDelete ()
 
void mousePressed (MouseEvent &event)
 
void mouseDragged (MouseEvent &event)
 
void mouseMoved (MouseEvent &event)
 
void mouseReleased (MouseEvent &event)
 
void mouseExited (MouseEvent &event)
 
void mouseEntered (MouseEvent &event)
 
void updateResizeHandler (MouseEvent &event)
 
void setWindowName (const std::string &name)
 
const std::string & getWindowName () const
 
void loadWindowState ()
 
void saveWindowState ()
 
void setDefaultSize (const int defaultX, const int defaultY, int defaultWidth, int defaultHeight)
 
void setDefaultSize ()
 
void setDefaultSize (const int defaultWidth, const int defaultHeight, const ImagePosition::Type &position, const int offsetx, const int offsetY)
 
virtual void resetToDefaultSize ()
 
void adjustPositionAfterResize (const int oldScreenWidth, const int oldScreenHeight)
 
LayoutgetLayout ()
 
void clearLayout ()
 
void reflowLayout (int w, int h)
 
LayoutCellplace (const int x, const int y, Widget *const wg, const int w, const int h)
 
ContainerPlacer getPlacer (const int x, const int y)
 
void center ()
 
void centerHorisontally ()
 
virtual void close ()
 
void setModal (const Modal modal)
 
Rect getWindowArea () const
 
bool isResizeAllowed (const MouseEvent &event) const
 
void setCaptionFont (Font *font)
 
void enableVisibleSound (bool b)
 
bool isWindowVisible () const
 
void setPadding (int padding)
 
int getPadding () const
 
void setTitleBarHeight (unsigned int height)
 
unsigned int getTitleBarHeight () const
 
void setCaption (const std::string &caption)
 
const std::string & getCaption () const
 
void setAlignment (Graphics::Alignment alignment)
 
Graphics::Alignment getAlignment () const
 
void setMovable (Move movable)
 
bool isMovable () const
 
Rect getChildrenArea ()
 
virtual void resizeToContent ()
 
- Public Member Functions inherited from BasicContainer2
 BasicContainer2 (const Widget2 *const widget)
 
 ~BasicContainer2 ()
 
void setOpaque (Opaque opaque)
 
bool isOpaque () const
 
virtual void add (Widget *const widget)
 
void addXY (Widget *const widget, const int x, const int y)
 
- Public Member Functions inherited from BasicContainer
 BasicContainer (const Widget2 *const widget)
 
 ~BasicContainer ()
 
void showWidgetPart (Widget *const widget, const Rect &area)
 
void moveToTop (Widget *const widget)
 
void moveToBottom (Widget *const widget)
 
void focusNext ()
 
void focusPrevious ()
 
void logic ()
 
void setFocusHandler (FocusHandler *const focusHandler)
 
void setInternalFocusHandler (FocusHandler *const focusHandler)
 
WidgetgetWidgetAt (int x, int y)
 
void death (const Event &event)
 
WidgetfindFirstWidget (const std::set< Widget * > &list)
 
void add (Widget *const widget)
 
virtual void remove (Widget *const widget)
 
virtual void clear ()
 
- Public Member Functions inherited from Widget
 Widget (const Widget2 *const widget)
 
 ~Widget ()
 
virtual void drawFrame (Graphics *graphics)
 
virtual void safeDrawFrame (Graphics *graphics)
 
void setFrameSize (const unsigned int frameSize)
 
unsigned int getFrameSize () const
 
WidgetgetParent () const
 
void setWidth (const int width)
 
int getWidth () const
 
void setHeight (const int height)
 
int getHeight () const
 
void setSize (const int width, const int height)
 
void setX (const int x)
 
int getX () const
 
void setY (const int y)
 
int getY () const
 
void setPosition (const int x, const int y)
 
void setDimension (const Rect &dimension)
 
const RectgetDimension () const
 
void setFocusable (const bool focusable)
 
bool isFocusable () const
 
virtual bool isFocused () const
 
void setEnabled (const bool enabled)
 
bool isEnabled () const
 
void setVisible (Visible visible)
 
bool isVisible () const
 
void setBaseColor (const Color &color)
 
const ColorgetBaseColor () const
 
void setForegroundColor (const Color &color)
 
const ColorgetForegroundColor () const
 
void setBackgroundColor (const Color &color)
 
const ColorgetBackgroundColor () const
 
virtual void requestFocus ()
 
virtual void requestMoveToTop ()
 
virtual void requestMoveToBottom ()
 
FocusHandlergetFocusHandler ()
 
void addActionListener (ActionListener *const actionListener)
 
void removeActionListener (ActionListener *const actionListener)
 
void addDeathListener (WidgetDeathListener *const deathListener)
 
void removeDeathListener (WidgetDeathListener *const deathListener)
 
void addMouseListener (MouseListener *const mouseListener)
 
void removeMouseListener (MouseListener *const mouseListener)
 
void addKeyListener (KeyListener *const keyListener)
 
void removeKeyListener (KeyListener *const keyListener)
 
void addFocusListener (FocusListener *const focusListener)
 
void removeFocusListener (FocusListener *const focusListener)
 
void addWidgetListener (WidgetListener *const widgetListener)
 
void removeWidgetListener (WidgetListener *const widgetListener)
 
void setActionEventId (const std::string &actionEventId)
 
const std::string & getActionEventId () const
 
virtual void getAbsolutePosition (int &x, int &y) const
 
virtual void setParent (Widget *parent)
 
FontgetFont () const
 
void setFont (Font *const font)
 
virtual void fontChanged ()
 
bool isTabInEnabled () const
 
void setTabInEnabled (const bool enabled)
 
bool isTabOutEnabled () const
 
void setTabOutEnabled (const bool enabled)
 
void requestModalFocus ()
 
virtual void requestModalMouseInputFocus ()
 
virtual void releaseModalFocus ()
 
virtual void releaseModalMouseInputFocus ()
 
virtual bool isModalFocused () const
 
virtual bool isModalMouseInputFocused () const
 
const std::list< MouseListener * > & getMouseListeners () const A_CONST
 
const std::list< KeyListener * > & getKeyListeners () const A_CONST
 
const std::list< FocusListener * > & getFocusListeners () const A_CONST
 
virtual FocusHandlergetInternalFocusHandler ()
 
void setInternalFocusHandler (FocusHandler *const internalFocusHandler)
 
void setId (const std::string &id)
 
const std::string & getId () const
 
virtual void showPart (const Rect &rectangle)
 
bool isAllowLogic () const
 
void setMouseConsume (const bool b)
 
bool isMouseConsume () const
 
void setRedraw (const bool b)
 
virtual bool isSelectable () const
 
void setSelectable (const bool selectable)
 
void windowResized ()
 
- Public Member Functions inherited from Widget2
virtual ~Widget2 ()
 
const ColorgetThemeColor (const ThemeColorIdT type, const unsigned int alpha) const A_INLINE
 
const ColorgetThemeCharColor (const signed char c, bool &valid) const A_INLINE
 
virtual void setWidget2 (const Widget2 *const widget)
 
void setPalette (int palette)
 
void checkPalette ()
 
void setForegroundColor2 (const Color &color)
 
WidgetgetWindow () const
 
virtual void setWindow (Widget *const window)
 
- Public Member Functions inherited from WidgetDeathListener
virtual ~WidgetDeathListener ()
 
- Public Member Functions inherited from MouseListener
virtual ~MouseListener ()
 
virtual void mouseClicked (MouseEvent &event)
 
virtual void mouseWheelMovedUp (MouseEvent &event)
 
virtual void mouseWheelMovedDown (MouseEvent &event)
 
- Public Member Functions inherited from WidgetListener
virtual ~WidgetListener ()
 
virtual void widgetShown (const Event &event)
 
- Public Member Functions inherited from ActionListener
virtual ~ActionListener ()
 

Private Member Functions

void unloadAdditionalTabs ()
 
void unloadTab (SetupTab *const page)
 

Private Attributes

std::list< SetupTab * > mTabs
 
std::list< Window * > mWindowsToReset
 
std::vector< Button * > mButtons
 
SetupTabmModsTab
 
SetupTabmQuickTab
 
ButtonmResetWindows
 
TabbedAreamPanel
 
LabelmVersion
 
int mButtonPadding
 

Additional Inherited Members

- Static Public Member Functions inherited from Window
static void setWindowContainer (WindowContainer *const windowContainer)
 
- Static Public Member Functions inherited from Widget
static void setGlobalFont (Font *const font)
 
static FontgetGloablFont ()
 
static void cleanGlobalFont ()
 
static bool widgetExists (const Widget *const widget)
 
static void distributeWindowResizeEvent ()
 
static WidgetcallPostInit (Widget *const widget)
 
- Data Fields inherited from Widget
Visible mVisible
 
- Protected Types inherited from BasicContainer
typedef std::vector< Widget * > WidgetList
 
typedef WidgetList::iterator WidgetListIterator
 
typedef WidgetList::const_iterator WidgetListConstIterator
 
typedef WidgetList::reverse_iterator WidgetListReverseIterator
 
typedef WidgetList::const_reverse_iterator WidgetListCReverseIterator
 
- Protected Types inherited from Widget
typedef std::list< MouseListener * > MouseListenerList
 
typedef MouseListenerList::iterator MouseListenerIterator
 
typedef std::list< KeyListener * > KeyListenerList
 
typedef KeyListenerList::iterator KeyListenerIterator
 
typedef std::list< ActionListener * > ActionListenerList
 
typedef ActionListenerList::iterator ActionListenerIterator
 
typedef std::list< WidgetDeathListener * > WidgetDeathListenerList
 
typedef WidgetDeathListenerList::iterator WidgetDeathListenerIterator
 
typedef std::list< FocusListener * > FocusListenerList
 
typedef FocusListenerList::iterator FocusListenerIterator
 
typedef std::list< WidgetListener * > WidgetListenerList
 
typedef WidgetListenerList::iterator WidgetListenerIterator
 
- Protected Member Functions inherited from Window
bool canMove () const
 
int getOption (const std::string &name, const int def) const
 
bool getOptionBool (const std::string &name, const bool def) const
 
void setTitlePadding (const int p)
 
int getTitlePadding () const
 
- Protected Member Functions inherited from BasicContainer
virtual void drawChildren (Graphics *const graphics)
 
virtual void safeDrawChildren (Graphics *const graphics)
 
virtual void logicChildren ()
 
- Protected Member Functions inherited from Widget
void distributeActionEvent ()
 
void distributeResizedEvent ()
 
void distributeMovedEvent ()
 
void distributeHiddenEvent ()
 
void distributeShownEvent ()
 
- Protected Member Functions inherited from Widget2
 Widget2 (const Widget2 *const widget)
 
- Protected Member Functions inherited from WidgetDeathListener
 WidgetDeathListener ()
 
- Protected Member Functions inherited from MouseListener
 MouseListener ()
 
- Protected Member Functions inherited from WidgetListener
 WidgetListener ()
 
- Protected Member Functions inherited from ActionListener
 ActionListener ()
 
- Protected Attributes inherited from Window
std::string mCaption
 
Graphics::Alignment mAlignment
 
int mPadding
 
unsigned int mTitleBarHeight
 
Move mMovable
 
int mDragOffsetX
 
int mDragOffsetY
 
bool mMoved
 
SkinmSkin
 
int mDefaultX
 
int mDefaultY
 
int mDefaultWidth
 
int mDefaultHeight
 
int mCaptionOffsetX
 
int mCaptionOffsetY
 
bool mShowTitle
 
bool mLastRedraw
 
- Protected Attributes inherited from BasicContainer2
Opaque mOpaque
 
- Protected Attributes inherited from BasicContainer
WidgetList mWidgets
 
WidgetList mLogicWidgets
 
- Protected Attributes inherited from Widget
MouseListenerList mMouseListeners
 
KeyListenerList mKeyListeners
 
ActionListenerList mActionListeners
 
WidgetDeathListenerList mDeathListeners
 
FocusListenerList mFocusListeners
 
WidgetListenerList mWidgetListeners
 
Color mForegroundColor
 
Color mBackgroundColor
 
Color mBaseColor
 
Rect mDimension
 
std::string mActionEventId
 
std::string mId
 
FocusHandlermFocusHandler
 
FocusHandlermInternalFocusHandler
 
WidgetmParent
 
FontmCurrentFont
 
unsigned int mFrameSize
 
bool mFocusable
 
bool mTabIn
 
bool mTabOut
 
bool mEnabled
 
bool mAllowLogic
 
bool mMouseConsume
 
bool mRedraw
 
bool mSelectable
 
- Protected Attributes inherited from Widget2
int mPaletteOffset
 
WidgetmWindow
 
Color mForegroundColor2
 
- Static Protected Attributes inherited from Widget
static FontmGlobalFont = 0
 

Detailed Description

The setup dialog. Displays several tabs for configuring different aspects of the game.

Definition at line 42 of file setupwindow.h.

Constructor & Destructor Documentation

◆ SetupWindow()

SetupWindow::SetupWindow ( )

Definition at line 66 of file setupwindow.cpp.

66  :
67  // TRANSLATORS: setup window name
68  Window(_("Setup"), Modal_false, nullptr, "setup.xml"),
70  mTabs(),
72  mButtons(),
73  mModsTab(nullptr),
74  mQuickTab(nullptr),
75  mResetWindows(nullptr),
77  mVersion(new Label(this, FULL_VERSION)),
79 {
80  setCloseButton(true);
81  setResizable(true);
82  setStickyButtonLock(true);
83 }
Definition: label.h:91
SetupTab * mQuickTab
Definition: setupwindow.h:88
TabbedArea * mPanel
Definition: setupwindow.h:90
int mButtonPadding
Definition: setupwindow.h:92
Label * mVersion
Definition: setupwindow.h:91
Button * mResetWindows
Definition: setupwindow.h:89
std::list< SetupTab * > mTabs
Definition: setupwindow.h:84
std::vector< Button * > mButtons
Definition: setupwindow.h:86
std::list< Window * > mWindowsToReset
Definition: setupwindow.h:85
SetupTab * mModsTab
Definition: setupwindow.h:87
void setResizable(const bool resize)
Definition: window.cpp:627
Window(const std::string &caption, const Modal modal, Window *const parent, std::string skin)
Definition: window.cpp:109
void setCloseButton(const bool flag)
Definition: window.cpp:749
void setStickyButtonLock(const bool sticky)
Definition: window.cpp:772
#define CREATEWIDGETR(type,...)
Definition: createwidget.h:36
#define _(s)
Definition: gettext.h:35
#define FULL_VERSION
Definition: main.h:164
const bool Modal_false
Definition: modal.h:30

References Window::setCloseButton(), Window::setResizable(), and Window::setStickyButtonLock().

◆ ~SetupWindow()

SetupWindow::~SetupWindow ( )

Definition at line 177 of file setupwindow.cpp.

178 {
179  delete_all(mTabs);
180  mButtons.clear();
181  setupWindow = nullptr;
182 }
void delete_all(Container &c)
Definition: dtor.h:56
SetupWindow * setupWindow
Definition: setupwindow.cpp:64

References delete_all(), mButtons, mTabs, and setupWindow.

Member Function Documentation

◆ action()

void SetupWindow::action ( const ActionEvent actionEvent)
virtual

Called when an action is recieved from a widget. It is used to be able to recieve a notification that an action has occured.

Parameters
actionEventThe event of the action.

Implements ActionListener.

Definition at line 184 of file setupwindow.cpp.

185 {
186  if (Game::instance() != nullptr)
188  const std::string &eventId = event.getId();
189 
190  if (eventId == "Apply")
191  {
193  FOR_EACH (std::list<SetupTab*>::iterator, it, mTabs)
194  {
195  (*it)->apply();
196  }
197  }
198  else if (eventId == "Cancel")
199  {
200  doCancel();
201  }
202  else if (eventId == "Store")
203  {
204  if (chatWindow != nullptr)
206  config.write();
208  }
209  else if (eventId == "Reset Windows")
210  {
211  // Bail out if this action happens to be activated before the windows
212  // are created (though it should be disabled then)
213  if (statusWindow == nullptr)
214  return;
215 
216  FOR_EACH (std::list<Window*>::const_iterator, it, mWindowsToReset)
217  {
218  if (*it != nullptr)
219  (*it)->resetToDefaultSize();
220  }
221  }
222 }
ChatWindow * chatWindow
Definition: chatwindow.cpp:94
void saveState() const
static Game * instance()
Definition: game.h:82
void resetAdjustLevel()
Definition: game.cpp:889
void doCancel()
void setVisible(Visible visible)
Configuration config
Configuration serverConfig
#define FOR_EACH(type, iter, array)
Definition: foreach.h:25
StatusWindow * statusWindow
const bool Visible_false
Definition: visible.h:30

References chatWindow, config, doCancel(), FOR_EACH, Game::instance(), mTabs, mWindowsToReset, Game::resetAdjustLevel(), ChatWindow::saveState(), serverConfig, setVisible(), statusWindow, Visible_false, and Configuration::write().

◆ activateTab()

void SetupWindow::activateTab ( const std::string &  name)

Definition at line 310 of file setupwindow.cpp.

311 {
312  std::string tmp = gettext(name.c_str());
314 }
void setSelectedTabByName(const std::string &name)
Definition: tabbedarea.cpp:462

References mPanel, and TabbedArea::setSelectedTabByName().

◆ clearWindowsForReset()

void SetupWindow::clearWindowsForReset ( )
inline

Definition at line 68 of file setupwindow.h.

69  { mWindowsToReset.clear(); }

References mWindowsToReset.

Referenced by createGuiWindows().

◆ doCancel()

void SetupWindow::doCancel ( )

Definition at line 301 of file setupwindow.cpp.

302 {
304  FOR_EACH (std::list<SetupTab*>::iterator, it, mTabs)
305  {
306  (*it)->cancel();
307  }
308 }

References FOR_EACH, mTabs, setVisible(), and Visible_false.

Referenced by action().

◆ externalUnload()

void SetupWindow::externalUnload ( )

Definition at line 263 of file setupwindow.cpp.

264 {
265  FOR_EACH (std::list<SetupTab*>::const_iterator, it, mTabs)
266  {
267  if (*it != nullptr)
268  (*it)->externalUnloaded();
269  }
271 }
void unloadAdditionalTabs()

References FOR_EACH, mTabs, and unloadAdditionalTabs().

◆ externalUpdate()

void SetupWindow::externalUpdate ( )

Definition at line 230 of file setupwindow.cpp.

231 {
233  mModsTab = new Setup_Mods(this);
234  mTabs.push_back(mModsTab);
236  mQuickTab = new Setup_Quick(this);
237  mTabs.push_back(mQuickTab);
239  FOR_EACH (std::list<SetupTab*>::const_iterator, it, mTabs)
240  {
241  if (*it != nullptr)
242  (*it)->externalUpdated();
243  }
244 }
const std::string & getName() const
Definition: setuptab.h:44
void addTab(Tab *const tab, Widget *const widget)
Definition: tabbedarea.cpp:238

References TabbedArea::addTab(), FOR_EACH, SetupTab::getName(), mModsTab, mPanel, mQuickTab, mTabs, and unloadAdditionalTabs().

Referenced by createGuiWindows().

◆ hideWindows()

void SetupWindow::hideWindows ( )

Definition at line 290 of file setupwindow.cpp.

291 {
292  FOR_EACH (std::list<Window*>::const_iterator, it, mWindowsToReset)
293  {
294  Window *const window = *it;
295  if ((window != nullptr) && !window->isSticky())
296  window->setVisible(Visible_false);
297  }
299 }
Definition: window.h:102
virtual void setVisible(Visible visible)
Definition: window.cpp:778
bool isSticky() const
Definition: window.h:253

References FOR_EACH, Window::isSticky(), mWindowsToReset, Window::setVisible(), setVisible(), and Visible_false.

◆ postInit()

void SetupWindow::postInit ( )
virtual

Reimplemented from Window.

Definition at line 85 of file setupwindow.cpp.

86 {
88  int width = 620;
89  const int height = 450;
90 
91  if (config.getIntValue("screenwidth") >= 730)
92  width += 100;
93 
94  setContentSize(width, height);
95  setMinWidth(310);
96  setMinHeight(210);
97 
98  mPanel->setSelectable(false);
101 
102  static const char *const buttonNames[] =
103  {
104  // TRANSLATORS: setup button
105  N_("Apply"),
106  // TRANSLATORS: setup button
107  N_("Cancel"),
108  // TRANSLATORS: setup button
109  N_("Store"),
110  // TRANSLATORS: setup button
111  N_("Reset Windows"),
112  nullptr
113  };
114  int x = width;
115  mButtonPadding = getOption("buttonPadding", 5);
116  for (const char *const * curBtn = buttonNames;
117  *curBtn != nullptr;
118  ++ curBtn)
119  {
120  Button *const btn = new Button(this,
121  gettext(*curBtn),
122  *curBtn,
123  BUTTON_SKIN,
124  this);
125  mButtons.push_back(btn);
126  x -= btn->getWidth() + mButtonPadding;
127  btn->setPosition(x, height - btn->getHeight() - mButtonPadding);
128  add(btn);
129 
130  // Store this button, as it needs to be enabled/disabled
131  if (strcmp(*curBtn, "Reset Windows") == 0)
132  mResetWindows = btn;
133  }
134 
135  mPanel->setDimension(Rect(5, 5, width - 10, height - 40));
137 
138  mTabs.push_back(new Setup_Video(this));
139  mTabs.push_back(new Setup_Visual(this));
140  mTabs.push_back(new Setup_Audio(this));
141  mTabs.push_back(new Setup_Perfomance(this));
142  mTabs.push_back(new Setup_Touch(this));
143  mTabs.push_back(new Setup_Input(this));
144  mTabs.push_back(new Setup_Joystick(this));
145  mTabs.push_back(new Setup_Colors(this));
146  mTabs.push_back(new Setup_Chat(this));
147  mTabs.push_back(new Setup_Players(this));
148  mTabs.push_back(new Setup_Relations(this));
149  mTabs.push_back(new Setup_Theme(this));
150  mTabs.push_back(new Setup_Misc(this));
151 
152  FOR_EACH (std::list<SetupTab*>::const_iterator, i, mTabs)
153  {
154  SetupTab *const tab = *i;
155  mPanel->addTab(tab->getName(), tab);
156  }
157  add(mPanel);
158 
159  if (mResetWindows != nullptr)
160  {
162  height - mVersion->getHeight() - mResetWindows->getHeight() - 9);
163  }
164  else
165  {
166  mVersion->setPosition(9, height - mVersion->getHeight() - 30);
167  }
168  add(mVersion);
169 
170  center();
171 
172  widgetResized(Event(nullptr));
173  setInGame(false);
174  enableVisibleSound(true);
175 }
const std::string BUTTON_SKIN
Definition: button.h:89
virtual void add(Widget *const widget)
Definition: button.h:102
int getIntValue(const std::string &key) const
Definition: event.h:79
Definition: rect.h:74
void widgetResized(const Event &event)
void setInGame(const bool inGame)
Widget * getTabContainer() const
Definition: tabbedarea.h:241
Widget * getWidgetContainer() const
Definition: tabbedarea.h:244
void setDimension(const Rect &dimension)
Definition: tabbedarea.cpp:771
void enableScrollButtons(const bool enable)
Definition: tabbedarea.cpp:150
void setSelectable(const bool selectable)
Definition: widget.h:948
void setPosition(const int x, const int y)
Definition: widget.cpp:161
int getHeight() const
Definition: widget.h:240
int getWidth() const
Definition: widget.h:221
void center()
Definition: window.cpp:1417
void setContentSize(int width, int height)
Definition: window.cpp:492
int getOption(const std::string &name, const int def) const
Definition: window.cpp:1454
void setMinHeight(const int height)
Definition: window.cpp:604
void postInit()
Definition: window.cpp:249
void setMinWidth(const int width)
Definition: window.cpp:591
void enableVisibleSound(bool b)
Definition: window.h:481
#define N_(s)
Definition: gettext.h:36

References BasicContainer2::add(), TabbedArea::addTab(), BUTTON_SKIN, Window::center(), config, TabbedArea::enableScrollButtons(), Window::enableVisibleSound(), FOR_EACH, Widget::getHeight(), Configuration::getIntValue(), SetupTab::getName(), Window::getOption(), TabbedArea::getTabContainer(), TabbedArea::getWidgetContainer(), Widget::getWidth(), mButtonPadding, mButtons, mPanel, mResetWindows, mTabs, mVersion, N_, Window::postInit(), Window::setContentSize(), TabbedArea::setDimension(), setInGame(), Window::setMinHeight(), Window::setMinWidth(), Widget::setPosition(), Widget::setSelectable(), widgetResized(), and x.

◆ registerWindowForReset()

void SetupWindow::registerWindowForReset ( Window *const  window)

◆ setInGame()

void SetupWindow::setInGame ( const bool  inGame)

Definition at line 224 of file setupwindow.cpp.

225 {
226  if (mResetWindows != nullptr)
227  mResetWindows->setEnabled(inGame);
228 }
void setEnabled(const bool enabled)
Definition: widget.h:352

References mResetWindows, and Widget::setEnabled().

Referenced by Game::Game(), and postInit().

◆ setVisible()

void SetupWindow::setVisible ( Visible  visible)
virtual

Overloads window setVisible by Guichan to allow sticky window handling.

Reimplemented from Window.

Definition at line 316 of file setupwindow.cpp.

317 {
319  Window::setVisible(visible);
320 }
void setTempHide(const bool b)
TouchManager touchManager
const bool Visible_true
Definition: visible.h:30

References TouchManager::setTempHide(), Window::setVisible(), touchManager, and Visible_true.

Referenced by action(), doCancel(), and hideWindows().

◆ unloadAdditionalTabs()

void SetupWindow::unloadAdditionalTabs ( )
private

Definition at line 255 of file setupwindow.cpp.

256 {
261 }
void unloadTab(SetupTab *const page)
#define delete2(var)
Definition: delete2.h:25

References delete2, mModsTab, mQuickTab, and unloadTab().

Referenced by externalUnload(), and externalUpdate().

◆ unloadTab()

void SetupWindow::unloadTab ( SetupTab *const  page)
private

Definition at line 246 of file setupwindow.cpp.

247 {
248  if (page != nullptr)
249  {
250  mTabs.remove(page);
251  mPanel->removeTab(mPanel->getTab(page->getName()));
252  }
253 }
void removeTab(Tab *const tab)
Definition: tabbedarea.cpp:323
Tab * getTab(const std::string &name) const
Definition: tabbedarea.cpp:174

References SetupTab::getName(), TabbedArea::getTab(), mPanel, mTabs, and TabbedArea::removeTab().

Referenced by unloadAdditionalTabs().

◆ unregisterWindowForReset()

void SetupWindow::unregisterWindowForReset ( const Window *const  window)

Definition at line 278 of file setupwindow.cpp.

279 {
280  FOR_EACH (std::list<Window*>::iterator, it, mWindowsToReset)
281  {
282  if (*it == window)
283  {
284  mWindowsToReset.erase(it);
285  return;
286  }
287  }
288 }

References FOR_EACH, and mWindowsToReset.

Referenced by Window::~Window().

◆ widgetResized()

void SetupWindow::widgetResized ( const Event event)
virtual

Called whenever the widget changes size.

Reimplemented from Window.

Definition at line 322 of file setupwindow.cpp.

323 {
324  Window::widgetResized(event);
325 
326  const Rect area = getChildrenArea();
327  int x = area.width;
328  const int height = area.height;
329  const int width = area.width;
330  mPanel->setDimension(Rect(5, 5, width - 10, height - 40));
331  FOR_EACH (STD_VECTOR<Button*>::iterator, it, mButtons)
332  {
333  Button *const btn = *it;
334  x -= btn->getWidth() + mButtonPadding;
335  btn->setPosition(x, height - btn->getHeight() - mButtonPadding);
336  }
337  if (mResetWindows != nullptr)
338  {
340  height - mVersion->getHeight() - mResetWindows->getHeight() - 9);
341  }
342  else
343  {
344  mVersion->setPosition(9, height - mVersion->getHeight() - 30);
345  }
346 }
int width
Definition: rect.h:219
int height
Definition: rect.h:224
void widgetResized(const Event &event)
Definition: window.cpp:655
Rect getChildrenArea()
Definition: window.cpp:1473

References FOR_EACH, Window::getChildrenArea(), Widget::getHeight(), Widget::getWidth(), Rect::height, mButtonPadding, mButtons, mPanel, mResetWindows, mVersion, TabbedArea::setDimension(), Widget::setPosition(), Window::widgetResized(), Rect::width, and x.

Referenced by postInit().

Field Documentation

◆ mButtonPadding

int SetupWindow::mButtonPadding
private

Definition at line 92 of file setupwindow.h.

Referenced by postInit(), and widgetResized().

◆ mButtons

std::vector<Button*> SetupWindow::mButtons
private

Definition at line 86 of file setupwindow.h.

Referenced by postInit(), widgetResized(), and ~SetupWindow().

◆ mModsTab

SetupTab* SetupWindow::mModsTab
private

Definition at line 87 of file setupwindow.h.

Referenced by externalUpdate(), and unloadAdditionalTabs().

◆ mPanel

TabbedArea* SetupWindow::mPanel
private

Definition at line 90 of file setupwindow.h.

Referenced by activateTab(), externalUpdate(), postInit(), unloadTab(), and widgetResized().

◆ mQuickTab

SetupTab* SetupWindow::mQuickTab
private

Definition at line 88 of file setupwindow.h.

Referenced by externalUpdate(), and unloadAdditionalTabs().

◆ mResetWindows

Button* SetupWindow::mResetWindows
private

Definition at line 89 of file setupwindow.h.

Referenced by postInit(), setInGame(), and widgetResized().

◆ mTabs

std::list<SetupTab*> SetupWindow::mTabs
private

◆ mVersion

Label* SetupWindow::mVersion
private

Definition at line 91 of file setupwindow.h.

Referenced by postInit(), and widgetResized().

◆ mWindowsToReset

std::list<Window*> SetupWindow::mWindowsToReset
private

The documentation for this class was generated from the following files: