Commit Graph

161 Commits

Author SHA1 Message Date
Bastien Bouclet
9bb9c0d58e GUI: Focus the first 'focusable' widget when rebuilding dialogs
Fixes Trac#9838.
2017-06-13 07:21:34 +02:00
Thierry Crozat
78561ca94d GUI: Fix access to deleted widget after rebuilding a dialog
The issue was with the focus or mouse widget as it may not be a
direct child of the dialog (it may for example be a child of the tab
widget in the options dialog) and removing a widget was not
resetting the mouse of focus widget if that widget was not a
direct child.
2017-04-06 21:55:28 +01:00
Alexander Tkachev
24963ac97d GUI: Fix Dialog's and TabWidget's reflowLayout() 2016-07-03 12:19:48 +02:00
Eugene Sandulenko
c7ad2155fc GUI: More object initialization cleanup 2016-06-01 13:16:12 +02:00
Ori Avtalion
be1fdf59bb GUI: When dialogs gain focus, inform them of the current mouse position
Previously, they only reacted to the mouse position once it was moved.
This meant that if the cursor was on a button that just gained focus,
it did not highlight.

Fixes #7101.
2016-04-06 17:51:30 +03:00
Torbjörn Andersson
16ba21259b GUI: Adjust x and y to handleMouseWheel() for consistency
This means x and y has the same meaning as in the other handlers,
e.g. handleMouseUp(). Though as far as I can tell, these coordinates
aren't actually used anywhere at the moment.
2015-03-21 17:45:05 +01:00
Zerophase
80d34a8a7c GUI: Add Tab cycling to TabWidget
Tab and Shift-Tab can now cycle between each Tab of the Edit Game menu.
2014-04-01 07:28:48 -05:00
Johannes Schickel
f5dfe6725a GUI: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
Oleksiy Kurochko
e6c317a922 GUI: Implemented pressed state for buttons 2012-05-03 19:32:08 +03:00
Tarek Soliman
d12f21b31d KEYMAPPER: Map non-key custom input events
This also makes the keymapper be in charge of keymapping logic
2012-03-02 20:48:50 -06:00
Torbjörn Andersson
6b17507b76 GUI: Fix "clear" buttons after theme switch (bug #3482459)
Because the "clear" buttons are very different between themes (in
the Modern theme they have a graphical symbol, while in the Classic
theme they have a letter), they have to be removed and re-added
when reflowing the layout. This is patterned after how the
LauncherDialog class handles the larger changes in layout.

Removing widgets from a tab turned out to be trickier than I first
thought, so I had to move the removeWidget() method from Dialog to
GuiObject.
2012-02-24 22:20:50 +01:00
Tarek Soliman
6523454db5 KEYMAPPER: Put the gui keymap pushing/popping back in GuiManager::runLoop
This because theoretically the GUI could be run without a dialog.
This also fixes the situations where the GUI keymap gets popped more times than pushed.

Thanks sev
2011-10-31 22:59:55 -05:00
Tarek Soliman
a5082ffa5d KEYMAPPER: Skip GUI keymap when displaying active keymap in keymapper dialog
This fixes a problem where opening the keymapper dialog would cause the current game
keymap to be displayed as the active keymap but then changing the keymap selection
back to it would cause the GUI keymap to be displayed as the active one. The GUI keymap
was indeed at the top of the stack but that's not the desired effect.

Also move the pushing and popping of the keymap to Dialog::Open/Close
Also constantify the GUI keymap name
2011-10-27 10:46:22 -05:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Max Horn
668adaa461 GUI: Rename gui/GuiManager.* to gui/gui-manager.*
svn-id: r54265
2010-11-16 10:19:01 +00:00
Max Horn
427dc1ae93 GUI: Move major widgets to new directory gui/widgets
Also renamed the source/header files, now they are more closely
aligned to how we rename most other source files

svn-id: r54264
2010-11-16 10:11:57 +00:00
Willem Jan Palenstijn
225fd20bee Revert r53747: "GUI: added close() call to Dialog::runModal()"
It broke the launcher after adding new games.

svn-id: r53765
2010-10-24 13:26:58 +00:00
Yotam Barnoy
deb461d200 GUI: added close() call to Dialog::runModal()
This should prevent a small leak in the GuiManager when adding the dialog to the stack. Check for any regressions.

svn-id: r53747
2010-10-23 21:30:39 +00:00
Max Horn
651e2760a3 Fix spelling, cleanup
svn-id: r49843
2010-06-15 12:33:20 +00:00
Max Horn
f906c4e80f GUI: Tweaked the launcher so that TAB switches focus between the list and the quick search field
svn-id: r41311
2009-06-06 23:22:48 +00:00
Eugene Sandulenko
eb92554db9 Fix bug #2791868: "GUI: Glitch when closing menu after hovering on option"
svn-id: r40702
2009-05-18 21:02:52 +00:00
Vicent Marti
108d4cfbd0 Reverted previous commit.
svn-id: r36226
2009-02-06 23:28:08 +00:00
Vicent Marti
30189f09d9 Removed special case when redrawing the dialog stack. Fixes bug #2555710 and several lesser graphical glitches with classic theme.
svn-id: r36225
2009-02-06 22:16:04 +00:00
Eugene Sandulenko
83972e2001 Merge in Virtual Keybpard & KeyMapper branch,
- Merge is perfromed in order to not let rotting the code
- Makefile modifications were avoided

Stuff to resolve:
- Circular dependency of common/vkeybd from graphics/
- Make it compilable (?)
- Add some keyboards
- Decide on the key bindings

svn-id: r35813
2009-01-11 00:20:27 +00:00
Johannes Schickel
95074af35c Fixed crash when returning to launcher from a 640x480 game running with a non 1x scaler.
svn-id: r35686
2009-01-02 22:10:00 +00:00
Johannes Schickel
690b88f982 Renamed gui/newgui.cpp -> gui/GuiManager.cpp and gui/newgui.h -> gui/GuiManager.h
svn-id: r35668
2009-01-02 03:21:40 +00:00
Johannes Schickel
4ec7876972 Reverted the handling of mouse move events, now the slider widget should be highlighted correctly again.
svn-id: r35667
2009-01-02 03:03:06 +00:00
Johannes Schickel
1b41a49fc5 Modified the way button highlights are processed when a widget is in dragging mode. This allows for example unhighlighting of a button when the user clicked on it but moved the mouse away.
svn-id: r35666
2009-01-02 02:48:06 +00:00
Johannes Schickel
e7bf64744b Got rid of GuiManager::clearDragWidget instead handle it via a new widget flag WIDGET_IGNORE_DRAG.
svn-id: r35662
2009-01-02 01:31:46 +00:00
Max Horn
97e9b28c8a Revamping the handling of GUI themes a bit:
* Moved the code which handles fallback to the built-in theme from ThemeEngine to GuiManager
* Changed ThemeEngine::init() to only init&load the theme; no more messing with the overlay
* Commented to a somewhat obscure line in the GuiManager event loop (taking eriktorbjorn's original commit message for that change as comment text)
* Cleaned up the way the Dialog constructor ensures that the current Theme is correctly setup
* Got rid of varios members of ThemeEngine
* Changed ThemeEngine members _screen and _backBuffer from Surface pointers to just plain Surfaces
* Changed ThemeEngine::loadFontFromArchive to use _themeArchive instead of creating an Archive from scratch
* Renamed ThemeEngine::getThemeFileName() to getThemeId() (and some associated tweaks)
* Lots of further cleanup and tweaks

svn-id: r35653
2009-01-01 21:41:55 +00:00
Max Horn
6510226216 Renamed NewGui to GuiManager
svn-id: r35544
2008-12-25 23:55:36 +00:00
Jordi Vilalta Prat
b1999a2a16 Fixed indentation and removed whitespaces at the end of line
svn-id: r35481
2008-12-22 11:22:15 +00:00
Max Horn
fa942c42cc GUI: Got rid of most 'built-in' variables
svn-id: r35018
2008-11-12 12:53:53 +00:00
Vicent Marti
b98f89c7f0 Merged GUI::Theme and Gui::ThemeEngine into the same class, GUI::ThemeEngine.
Massive cleanup.

svn-id: r34983
2008-11-10 11:24:55 +00:00
Stephen Kennedy
6b638f0e58 Bug fix: Widget removal from dialog now handled properly
svn-id: r33841
2008-08-13 19:16:04 +00:00
Vicent Marti
2b52383534 Finished legacy API cleanup. Removed all legacy code.
Possible regressions.

svn-id: r33833
2008-08-13 17:46:00 +00:00
Vicent Marti
21989844a9 Game Options menu parsing.
Added support for importing layouts inside other layouts.
Misc bugfixes.

svn-id: r33676
2008-08-07 10:53:33 +00:00
Vicent Marti
4256c35791 Options menu layout parsing, featuring the brand new FATPOPUPS.
svn-id: r33651
2008-08-05 23:58:45 +00:00
Vicent Marti
4645e706a8 Rendering pipeline (almost) fixed. This time for real.
svn-id: r33092
2008-07-17 21:58:43 +00:00
Johannes Schickel
0ec41a2d80 - made Widget::_flags private
- reworked state (enabled/disabled/highlighted) handling of widgets
- cleanup in ModernTheme.cpp

svn-id: r29403
2007-11-04 03:38:30 +00:00
Nicola Mettifogo
258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Max Horn
2243197f50 Changed GUI system to use Common::KeyState state
svn-id: r27786
2007-06-30 12:26:59 +00:00
Torbjörn Andersson
4305483ad0 Use KEYCODE constants.
svn-id: r27598
2007-06-22 07:49:02 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Max Horn
f8067d54e5 Fixing some memory leaks in the GUI code
svn-id: r26515
2007-04-15 19:03:25 +00:00
Max Horn
a73c6c3670 Added new file gui/object.cpp (collecting GuiObject methods in there), and renamed Dialog::deleteWidget to Dialog::removeWidget (name was misleading, the removed object does *not* get deleted)
svn-id: r26147
2007-03-16 20:47:41 +00:00
Eugene Sandulenko
4e52f4438f Fix bug #1595627: "SCUMM: F5 crashes game (640x480)". This partially
reverts commit r24656 for fixing bug #1590596 and effectively fixes both.

svn-id: r24933
2006-12-27 00:47:57 +00:00
Max Horn
1a10cacfb9 Renamed handleScreenChanged() -> reflowLayout() in the GUI code
svn-id: r23662
2006-08-04 13:55:53 +00:00
Max Horn
76116f36dd *Loads* of Common::String related optimizations. Woa, *tons* of methods were copying strings needlessly
svn-id: r22873
2006-06-03 13:33:39 +00:00