Commit Graph
159 Commits
Author SHA1 Message Date
Alexander TkachevandEugene Sandulenko 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 KurochkoandEugene Sandulenko 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
Torbjörn Andersson 984214a109 Let deleteWidget() check if it's deleting _mouseWidget, _focusedWidget or
_dragWidget. We don't want to keep references to the deleted widget.

svn-id: r22836
2006-06-02 15:20:48 +00:00
Torbjörn Andersson 09074b1685 More cleanup. We shouldn't need these widget size parameters either.
svn-id: r22799
2006-05-31 12:27:05 +00:00