Commit Graph

77 Commits

Author SHA1 Message Date
thrust26 f64285425a split Dialog drawing and rendering and skip drawing render when possible 2020-11-11 23:32:00 +01:00
thrust26 678892e8c7 added blinking cursor 2020-11-11 17:26:40 +01:00
thrust26 49fcb524fd move Widget flags into GuiObject 2020-11-11 08:56:11 +01:00
thrust26 d3b9f52b08 initial commit for #719 2020-11-10 19:53:36 +01:00
Stephen Anthony be85557e6b Fix warnings from Clang 11.
Apparently d'tors in child classes should now be marked override rather than virtual (to match other methods).
So we do that specifically now.
2020-08-17 10:38:43 -02:30
thrust26 b355e00561 added static What's New" popup (see #581) (to get things going :-) 2020-07-28 23:47:13 +02:00
Stephen Anthony 1bfcac8a6e Added 'Save' button to GameInfoDialog, to save current properties to a separate .pro file. 2020-06-19 20:07:07 -02:30
Stephen Anthony 7d23029338 Updated copyright to 2020. Happy New Year to anyone reading this! 2019-12-31 13:48:56 -03:30
Stephen Anthony cf9bd9dd10 First pass at moving to default member initialization.
This fixes potential issues with forgetting to initialize in c'tors.
2019-12-28 21:14:52 -03:30
Stephen Anthony 88c9c15bfa More fixes for warnings from clang-tidy.
Mostly converting C-style arrays to C++.
2019-12-25 20:40:01 -03:30
Stephen Anthony 55b7394144 More fixes for warnings from clang-tidy.
Sorry if these are all over the place; I'm fixing them in the order that the tool finds them.
2019-12-24 17:50:27 -03:30
Thomas Jentzsch 49c148d7d9 rename some variables 2019-08-15 12:20:10 +02:00
Thomas Jentzsch 2356b22490 convert int into JoyAxis/JoyDir 2019-08-15 11:53:15 +02:00
Thomas Jentzsch b95197e4cc first pass on converting int into JoyAxis/JoyDir 2019-08-15 10:58:11 +02:00
Thomas Jentzsch bef7bbdded propagate 'repeated' to dialogs 2019-08-14 17:25:42 +02:00
Thomas Jentzsch 063308ac09 add long button press to launcher for power on options
note: currently this feels more like a hack
2019-08-13 14:06:27 +02:00
Thomas Jentzsch bd4e34b4d3 improve controller remapping
stop input repeats during remapping
2019-08-10 13:56:32 +02:00
thrust26 6b4645485b allow button as modifier for direction and hat
load/save controller mappings
2019-06-22 10:37:42 +02:00
thrust26 1c56cd19d6 improve dialog stacking 2019-05-05 08:55:24 +02:00
thrust26 de98ccebba make 'Cancel' work in command dialogs 2019-05-04 12:55:39 +02:00
thrust26 90857e74e6 allow to position dialogs centered and in corners 2019-05-01 17:19:40 +02:00
thrust26 4e1c13ce6d improved dialogs and launcher navigation with joysticks (left and right) 2019-04-13 15:44:19 +02:00
Stephen Anthony 275666b0af The annual copyright year update. 2019-01-01 11:35:51 -03:30
thrust26 e2a0fe9ffb Dialogs do remember their wanted size, so that OptionsDialog's dialogs are recreated only when necessary. 2018-12-30 18:47:35 +01:00
Stephen Anthony a2d7ac188b Dynamic dialogs are now correctly sized according to the current window size.
- This fixes issue 367, and allows Logger and Browser dialogs to be displayed
2018-08-29 11:40:21 -02:30
Stephen Anthony 0f8dc1f2bb Yet more fixes for warnings from cppcheck. 2018-08-28 17:00:00 -02:30
Stephen Anthony 8298ad4d26 Fixed inconsistency in passing color data to parameters.
- Now uses 'ColorId' as the datatype; this is currently mapped to uInt32, but can change in the future if required
- Eliminates needless and annoying casts in various places; all colors are now 'ColorId' type
2018-08-08 13:09:10 -02:30
thrust26 7336e27111 improved dialog darkening when not on top 2018-08-06 08:10:01 +02:00
Stephen Anthony e691853f0e First pass at fixing superfluous re-draws in the UI.
- This addresses issue 158, and reduces CPU usage to near 0% when no changes are happening
- This returns the code to the same performance levels as version 3.x.
2018-07-25 08:48:21 -02:30
Stephen Anthony e01321fbea Refactor Dialog class containing fonts:
- the previous code has a _font pointer in derived classes, and a _font reference in the base class; this causes name collisions
- the Dialog class now takes a font reference, which is used throughout the hierarchy
- this simplifies certain code (setTitle vs. initTitle) and also eliminates clang warnings
2018-02-06 19:26:49 -03:30
Christian Speckner f7c445fb7c Merge branch 'release/5.1' 2018-02-04 23:48:45 +01:00
Stephen Anthony 6c5bddcdf8 Time Machine dialog now resizes correctly:
- in 2x mode, it takes up the maximum amount of space
- in larger modes, it takes up the same relative amount of space: ~80% width
2018-02-03 17:27:52 -03:30
thrust26 a7308b4c0d fixed toned down dialogs 2018-01-26 20:13:22 +01:00
thrust26 5bd33885e3 title bar added to all dialogs 2018-01-24 14:37:07 +01:00
thrust26 d115e3238e enabled FLAT_UI (Windows only, TODO: enable for other OS or remove old code)
refactored Default/OK/Cancel buttons
refined AudioDialog
2018-01-23 11:08:17 +01:00
thrust26 696fc2ab43 work on TimeMachine UI started 2017-12-30 16:43:27 +01:00
Stephen Anthony 3d879d0080 Updated copyright date to 2018. A few days early, but nobody will mind ... 2017-12-29 17:10:37 -03:30
Stephen Anthony a15d5d8b06 Properly integrate MouseButton enum into the GUI core:
- The previous code used enumerations for DialogContainer, and constants for everything in src/gui
 - It took me over 3 hours to determine that a '1' in the first didn't mean the same as a '1' in the second
 - If ever there was a reason for strongly named constants (enum class), this was it.
2017-12-29 16:56:09 -03:30
Stephen Anthony 31da99f48b Convert some raw enum to C++11 'enum class' in EventHandlerConstants. 2017-12-14 21:04:19 -03:30
Stephen Anthony be6250b29b More header fixes (this time in 'src/gui'). 2017-11-20 15:58:32 -03:30
Stephen Anthony 55a281bf34 Allow OK/Cancel buttons to be variably focused in MessageBox. 2017-10-05 20:30:36 -02:30
Stephen Anthony bab6e3119d Fixes for various dialog boxes in 'small-window' modes.
When in TIA emulation mode at 2x zoom level, all dialogs which
are variable in size will now fit in the window.  In other cases,
the dialog will take up 80% of the available space.
2017-05-05 20:25:52 -02:30
Stephen Anthony abb7097cb7 Removed $Id$ stuff from codebase, since it's Subversion-specific.
Whitespace cleanup and update copyright to 2017.
2016-12-29 20:30:30 -03:30
stephena 8f2d3a6cbb Updated copyright to 2016, even though it's a few days early.
To anyone reading this, Merry (belated) Christmas and Happy New Year!


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3239 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-12-29 19:22:46 +00:00
stephena ffc9ac65a7 A few more fixes wrt the recent pruning for Visual Studio.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3207 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-14 22:18:55 +00:00
stephena 687b638437 Second pass at cleaning up warnings generated by -Weverything in clang.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3204 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-14 18:14:00 +00:00
stephena f539cef173 I decided to turn on '-Weverything' compiler flag in Clang++ to
see what errors are present in the code.  This is the first pass
in cleaning up the errors it found.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3203 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-13 23:23:12 +00:00
stephena cc7943610d Created a new class RiotRamWidget, which takes the place of the
old RamWidget.  Class RawWidget is now an abstract base class
to RiotRamWidget and CartRamWidget, allowing to share quite a lot
of code.  In the process, both classes now implement input from
the binary and decimal widgets, not just the DataGridWidget.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3195 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-09-07 23:12:00 +00:00
stephena 4792b534d5 Fairly large commit, but basically it is only enabling the 'override'
C++11 keyword.  This makes developing/maintaining class hierarchies
more manageable.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3182 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-07-10 18:59:03 +00:00
stephena e7fb7318fb Bumped version #.
Introduce namespace to class MD5, so the method call is now MD5::hash()
instead of simply MD5().

Added C++11 '= delete' constructors to most classes, to more clearly
indicate the intent of the class.  Note that this isn't absolutely
necessary, but is considered good form.  I will be teaching a C++ class
over the summer using Stella for examples, so it makes sense to follow
the standard and the textbook recommendations :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3164 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-04-26 19:02:42 +00:00