]>
git.tdb.fi Git - libs/gltk.git/log
Mikko Rasa [Wed, 31 Aug 2016 08:30:26 +0000 (11:30 +0300)]
Allow an empty graphic to be specified in part definitions
It can be used to cancel out a graphic for specific states.
Mikko Rasa [Wed, 31 Aug 2016 08:17:33 +0000 (11:17 +0300)]
Refactor the traversal logic out of List::check_view_range
It'll be useful for other things as well.
Mikko Rasa [Tue, 30 Aug 2016 13:26:57 +0000 (16:26 +0300)]
Add an input method subsystem
It's necessary for implementing keyboard navigation and virtual keyboards.
Mikko Rasa [Tue, 30 Aug 2016 13:12:22 +0000 (16:12 +0300)]
Make keyboard event handlers indicate whether the event was handled
Mikko Rasa [Tue, 30 Aug 2016 12:51:16 +0000 (15:51 +0300)]
Reorder event handling functions
Mikko Rasa [Fri, 26 Aug 2016 11:32:02 +0000 (14:32 +0300)]
Use a larger font for the basic skin
A 10-pixel font is rather tiny. The old font file was also lacking some
metrics.
Mikko Rasa [Fri, 26 Aug 2016 11:17:27 +0000 (14:17 +0300)]
Add another example application to demonstrate various widgets
Mikko Rasa [Thu, 25 Aug 2016 21:23:05 +0000 (00:23 +0300)]
Make sure gravity can't overpower expand
Mikko Rasa [Thu, 25 Aug 2016 20:29:54 +0000 (23:29 +0300)]
Move the helloworld example into a subdirectory
Mikko Rasa [Thu, 19 Nov 2015 11:22:40 +0000 (13:22 +0200)]
Rudimentary touchscreen support
There are no touch-specific interactions yet, but this allows input to
work with a touchscreen.
Mikko Rasa [Thu, 19 Nov 2015 09:58:08 +0000 (11:58 +0200)]
Make some functions const that by all rights should be
Mikko Rasa [Thu, 19 Nov 2015 09:36:10 +0000 (11:36 +0200)]
Fix exception description
Mikko Rasa [Thu, 19 Nov 2015 09:35:07 +0000 (11:35 +0200)]
Make func a normal argument of Text::process_lines
There isn't any real reason for it to be a template argument.
Mikko Rasa [Fri, 6 Mar 2015 00:03:51 +0000 (02:03 +0200)]
Clear dropdown text if the associated list selection is cleared
This is currently impossible to do by interacting with the widget, but
may happen if the selected item is removed.
Mikko Rasa [Fri, 6 Mar 2015 00:03:34 +0000 (02:03 +0200)]
Add a selection_cleared signal to List
Mikko Rasa [Fri, 6 Mar 2015 00:02:06 +0000 (02:02 +0200)]
Implement mouse wheel scrolling in List
Mikko Rasa [Thu, 13 Nov 2014 21:46:59 +0000 (23:46 +0200)]
If the active list item is refreshed, mark it as such
Mikko Rasa [Thu, 13 Nov 2014 21:45:57 +0000 (23:45 +0200)]
Use a shader for rendering if available
Mikko Rasa [Thu, 13 Nov 2014 21:09:33 +0000 (23:09 +0200)]
Use a Camera rather than direct matrix manipulation
Mikko Rasa [Thu, 13 Nov 2014 20:52:18 +0000 (22:52 +0200)]
Use triangle strips instead of quads
Mikko Rasa [Tue, 8 Apr 2014 15:49:09 +0000 (18:49 +0300)]
Style and comment fixes
Mikko Rasa [Wed, 12 Mar 2014 19:20:11 +0000 (21:20 +0200)]
Always set column widths on the item itself
A newly created item gets parented to the List before it appears in its
item array. As such, the loop inside the if block won't reach it.
Mikko Rasa [Wed, 22 Jan 2014 19:51:14 +0000 (21:51 +0200)]
Fix line processing in Text to match autosizing
Mikko Rasa [Tue, 21 Jan 2014 23:03:31 +0000 (01:03 +0200)]
Improve Dropdown list management
Having the list marked as visible when it shouldn't be could cause trouble
in some corner cases.
There's no need to resize the list if it isn't visible.
Mikko Rasa [Tue, 21 Jan 2014 21:16:51 +0000 (23:16 +0200)]
Fix list positioning logic in Dropdown
Mikko Rasa [Tue, 21 Jan 2014 21:00:16 +0000 (23:00 +0200)]
Properly account for margins in sliders
Mikko Rasa [Tue, 21 Jan 2014 20:53:24 +0000 (22:53 +0200)]
Move some more common slider code to the base class
Mikko Rasa [Sat, 11 Jan 2014 18:06:44 +0000 (20:06 +0200)]
Fix a case where rebuild was called recursively
Mikko Rasa [Sat, 11 Jan 2014 18:05:51 +0000 (20:05 +0200)]
Add consistency checks to PartCache
Mikko Rasa [Sat, 11 Jan 2014 18:05:15 +0000 (20:05 +0200)]
Reuse meshes in PartCache to avoid buffer create/delete spam
Mikko Rasa [Mon, 25 Nov 2013 07:56:09 +0000 (09:56 +0200)]
Fix a segfault when refreshing an item in a list with MultiColumnItems
Mikko Rasa [Wed, 20 Nov 2013 17:06:51 +0000 (19:06 +0200)]
Don't rebuild on state change if there are no visual changes
Mikko Rasa [Wed, 20 Nov 2013 17:04:55 +0000 (19:04 +0200)]
Refactor list item positioning code
This fixes a bug where scrolling didn't quite work properly until each
item had been visible at least once.
Mikko Rasa [Wed, 20 Nov 2013 15:47:35 +0000 (17:47 +0200)]
Refactor child positioning logic
Mikko Rasa [Wed, 20 Nov 2013 11:24:57 +0000 (13:24 +0200)]
Avoid segfault with a single multi-column item
Mikko Rasa [Fri, 15 Nov 2013 21:23:28 +0000 (23:23 +0200)]
Add a list item class to manage multiple columns
Mikko Rasa [Thu, 7 Nov 2013 12:57:14 +0000 (14:57 +0200)]
Support floating widgets in layouts
An arrangement class that automatically makes widgets floating is also
added.
Mikko Rasa [Thu, 7 Nov 2013 12:33:01 +0000 (14:33 +0200)]
Fix some more inefficient autosizes
Mikko Rasa [Thu, 7 Nov 2013 08:25:58 +0000 (10:25 +0200)]
Better method of implementing zero gravity
Mikko Rasa [Wed, 6 Nov 2013 12:24:27 +0000 (14:24 +0200)]
Add getters for layout margin and spacings
Mikko Rasa [Wed, 6 Nov 2013 11:42:35 +0000 (13:42 +0200)]
Fix list autosizing logic
Mikko Rasa [Wed, 6 Nov 2013 11:12:24 +0000 (13:12 +0200)]
Make autosize_special const and add a const autosize overload
This should reduce useless back-and-forth resizing of widgets in several
common patterns.
Mikko Rasa [Wed, 16 Oct 2013 12:18:16 +0000 (15:18 +0300)]
Minor style fixes
Mikko Rasa [Wed, 16 Oct 2013 12:17:56 +0000 (15:17 +0300)]
Make widgets non-copyable
Mikko Rasa [Wed, 16 Oct 2013 12:12:39 +0000 (15:12 +0300)]
Remove obsolete inside checks
Mikko Rasa [Wed, 16 Oct 2013 12:09:25 +0000 (15:09 +0300)]
Make the DISABLED state actually do something
Mikko Rasa [Wed, 16 Oct 2013 12:04:49 +0000 (15:04 +0300)]
Make List::set_selected_index a no-op if that item was already selected
Mikko Rasa [Sun, 22 Sep 2013 15:06:00 +0000 (18:06 +0300)]
Support different font colors in different states
Mikko Rasa [Sun, 22 Sep 2013 15:05:03 +0000 (18:05 +0300)]
Add a shortcut for defining normal graphic
Mikko Rasa [Thu, 8 Aug 2013 16:02:10 +0000 (19:02 +0300)]
Add some utility functions for dealing with widget hierarchy
Mikko Rasa [Tue, 30 Jul 2013 15:56:09 +0000 (18:56 +0300)]
Add datafile statement for image widgets
Mikko Rasa [Sun, 14 Jul 2013 12:01:28 +0000 (15:01 +0300)]
Ensure that list items are autosized properly in all cases
Mikko Rasa [Sun, 14 Jul 2013 11:20:17 +0000 (14:20 +0300)]
Retain position when autosizing widget
Mikko Rasa [Fri, 5 Jul 2013 15:27:34 +0000 (18:27 +0300)]
Fix an uninitialized variable
Mikko Rasa [Sun, 30 Jun 2013 21:03:38 +0000 (00:03 +0300)]
Use a different approach for custom item widgets
Subclassed widgets can't be loaded from datafiles without providing custom
statements. Dropdown doesn't allow changing the type of the List either.
Mikko Rasa [Sun, 30 Jun 2013 21:01:57 +0000 (00:01 +0300)]
Fix a comparison that let an off-by-one error in
Mikko Rasa [Sun, 30 Jun 2013 20:59:03 +0000 (23:59 +0300)]
Refresh list items one at a time
A blanket update doesn't work so well with items as widgets.
Mikko Rasa [Sun, 30 Jun 2013 20:41:19 +0000 (23:41 +0300)]
Recreate list items when setting data
Mikko Rasa [Fri, 28 Jun 2013 20:20:49 +0000 (23:20 +0300)]
Some new datafile keywords
Mikko Rasa [Thu, 27 Jun 2013 14:25:50 +0000 (17:25 +0300)]
Unify the behavior of value change signals
All widgets with such signals now emit them if the value is changed
programmatically, but only if it actually changed.
Mikko Rasa [Thu, 27 Jun 2013 14:23:41 +0000 (17:23 +0300)]
Add getter for Panel::layout
This is necessary for certain operations on a panel loaded from a
datafile.
Mikko Rasa [Thu, 27 Jun 2013 13:37:33 +0000 (16:37 +0300)]
Properly set expand flags in LinearArrangement
Mikko Rasa [Thu, 27 Jun 2013 13:37:19 +0000 (16:37 +0300)]
Fix some alignment issues in LinearArrangement
Mikko Rasa [Thu, 27 Jun 2013 13:36:09 +0000 (16:36 +0300)]
The slack column counter needs to be outside the slot loop
Mikko Rasa [Wed, 26 Jun 2013 21:25:52 +0000 (00:25 +0300)]
Add a function to find the index of an item in ListDataStore
Mikko Rasa [Wed, 26 Jun 2013 18:47:13 +0000 (21:47 +0300)]
Add DragHandle widget
Mikko Rasa [Wed, 26 Jun 2013 17:09:55 +0000 (20:09 +0300)]
Don't trigger widget rebuild if only its position changes
Mikko Rasa [Wed, 26 Jun 2013 16:17:54 +0000 (19:17 +0300)]
Refactor widget autosizing
Widget::autosize is no longer virtual. Instead there's autosize_special,
which handles one part at a time. This way all the important checks and
finalisations are done in one place.
Mikko Rasa [Wed, 26 Jun 2013 11:24:08 +0000 (14:24 +0300)]
Add a persistent view size attribute to List
Mikko Rasa [Tue, 25 Jun 2013 22:12:19 +0000 (01:12 +0300)]
Improve widget part caching
A single mesh can now hold multiple parts if they share the same texture.
Mikko Rasa [Tue, 25 Jun 2013 18:45:00 +0000 (21:45 +0300)]
Autosize all items in a List
Mikko Rasa [Sun, 16 Jun 2013 20:25:30 +0000 (23:25 +0300)]
Some fixes to the Build file
Mikko Rasa [Sun, 16 Jun 2013 20:21:55 +0000 (23:21 +0300)]
Avoid autosizing widgets with no style
Mikko Rasa [Sun, 16 Jun 2013 20:21:21 +0000 (23:21 +0300)]
Don't divide by zero when autosizing a List with no items
Mikko Rasa [Sun, 16 Jun 2013 20:06:43 +0000 (23:06 +0300)]
Add a Stack arrangement
Mikko Rasa [Sun, 16 Jun 2013 19:59:20 +0000 (22:59 +0300)]
Add a packing attribute to consider a widget even if it's hidden
Mikko Rasa [Sun, 16 Jun 2013 19:33:52 +0000 (22:33 +0300)]
Allow loading generic layout properties from datafiles
Mikko Rasa [Sun, 16 Jun 2013 12:03:48 +0000 (15:03 +0300)]
Support widget expansion in linear layouts
Mikko Rasa [Sun, 16 Jun 2013 09:17:17 +0000 (12:17 +0300)]
Combine common parts of Column and Row into LinearArrangement
Mikko Rasa [Sun, 16 Jun 2013 08:26:58 +0000 (11:26 +0300)]
Add some sanity checks to arrangements
Mikko Rasa [Sat, 15 Jun 2013 21:34:53 +0000 (00:34 +0300)]
Support specifying layouts in datafiles
Mikko Rasa [Sat, 15 Jun 2013 21:00:30 +0000 (00:00 +0300)]
Support loading dialog action buttons
Mikko Rasa [Fri, 14 Jun 2013 20:32:37 +0000 (23:32 +0300)]
Replace the derived layout classes with a more flexible design
The new Arrangement interface allows multiple arrangements to be used in
a single layout. They can even be nested, with a sub-arrangement acting
like a single slot of its parent.
Mikko Rasa [Fri, 14 Jun 2013 17:11:18 +0000 (20:11 +0300)]
Use DerivedObjectLoader for widget loaders
Mikko Rasa [Fri, 14 Jun 2013 16:09:46 +0000 (19:09 +0300)]
Remove the Table widget
The layout system made it rather useless, and it suffered from similar
styling problems as List did before widget-based items.
Mikko Rasa [Wed, 12 Jun 2013 12:49:45 +0000 (15:49 +0300)]
Add constraint types that allow flexible spacing between widgets
Mikko Rasa [Wed, 12 Jun 2013 09:55:54 +0000 (12:55 +0300)]
Smarter way of complementing constraint types
Mikko Rasa [Wed, 12 Jun 2013 09:55:04 +0000 (12:55 +0300)]
Properly filter out duplicate constraints
Mikko Rasa [Tue, 11 Jun 2013 19:33:25 +0000 (22:33 +0300)]
Turn List items into widgets
This takes somewhat more resources, but offers much greader flexibility.
Items can be styled more freely and can contain pretty much anything.
Mikko Rasa [Tue, 11 Jun 2013 15:47:10 +0000 (18:47 +0300)]
Refactor pointer event handling in Container
Mikko Rasa [Mon, 10 Jun 2013 19:58:28 +0000 (22:58 +0300)]
More flexible storage for Lsit and Dropdown items
In many cases these widgets are used to pick an object. Previously, the
calling code needed to explicitly maintain synchronization between the
objects and list contents. This change allows the list to actually hold
pointers to the objects, making the retrieval of the selected object
vastly easier.
Mikko Rasa [Sun, 9 Jun 2013 19:34:37 +0000 (22:34 +0300)]
Add keywords to specify horizontal / vertical sides at once
Mikko Rasa [Sun, 9 Jun 2013 18:42:44 +0000 (21:42 +0300)]
Add properties to Entry for specifying autosize dimensions
Mikko Rasa [Sun, 9 Jun 2013 15:07:09 +0000 (18:07 +0300)]
Consider part margins when autosizing
Mikko Rasa [Sun, 9 Jun 2013 15:06:58 +0000 (18:06 +0300)]
Don't accept characters in Entry if there hasn't been a key press first
This rectifies a problem where a program reacts to a key press event by
focusing an Entry, which then receives the associated character event.
Mikko Rasa [Tue, 4 Jun 2013 19:13:31 +0000 (22:13 +0300)]
Set expand flag in Row and Column layouts on all widgets
Mikko Rasa [Tue, 4 Jun 2013 19:12:04 +0000 (22:12 +0300)]
Avoid putting tooltip label in layout
Mikko Rasa [Wed, 29 May 2013 20:21:46 +0000 (23:21 +0300)]
Comment and style updates
Mikko Rasa [Wed, 29 May 2013 20:20:26 +0000 (23:20 +0300)]
Implement set_size and set_position in terms of set_geometry
Mikko Rasa [Wed, 29 May 2013 20:17:00 +0000 (23:17 +0300)]
Restore parent to 0 if an exception occurs while setting things up
This prevents an inconsistent state from forming if something goes wrong.