]> git.tdb.fi Git - libs/gltk.git/log
libs/gltk.git
11 years agoMove all child widget handling into Container
Mikko Rasa [Sun, 2 Dec 2012 09:44:11 +0000 (11:44 +0200)]
Move all child widget handling into Container

This solves some problems like the slider of a list not receiving pointer
enter/leave events.  There are no obvious downsides either.  Widgets can
always override event handlers if they want to prevent something from
happening.

The event handlers are currently just combinations of those of the Panel
and Container classes.  They'll be smoothed out shortly.

11 years agoRemove dead code from Panel::Child
Mikko Rasa [Sun, 2 Dec 2012 08:51:46 +0000 (10:51 +0200)]
Remove dead code from Panel::Child

11 years agoRemove the extraneous and deprecated header component from Build file
Mikko Rasa [Fri, 30 Nov 2012 21:07:45 +0000 (23:07 +0200)]
Remove the extraneous and deprecated header component from Build file

11 years agoReplace default_size -> native_size in the example font file
Mikko Rasa [Fri, 30 Nov 2012 21:07:11 +0000 (23:07 +0200)]
Replace default_size -> native_size in the example font file

11 years agoUse a GL::Renderer to render widgets
Mikko Rasa [Fri, 30 Nov 2012 20:58:52 +0000 (22:58 +0200)]
Use a GL::Renderer to render widgets

This eliminates a lot of texture and matrix thrashing.

11 years agoCache widget parts in meshes
Mikko Rasa [Fri, 30 Nov 2012 20:21:55 +0000 (22:21 +0200)]
Cache widget parts in meshes

This initial implementation is rather rough, but it paves the way for
using GL::Renderer.  It uses a lot of VBOs and is generally less efficient
than it could, but those will be addressed in the near future.  All
widgets haven't been tested, but the helloworld example works.

11 years agoAdd protected functions for manipulating widget state
Mikko Rasa [Fri, 30 Nov 2012 17:57:46 +0000 (19:57 +0200)]
Add protected functions for manipulating widget state

11 years agoReturn a reference from Style::get_font
Mikko Rasa [Wed, 28 Nov 2012 19:45:30 +0000 (21:45 +0200)]
Return a reference from Style::get_font

Styles always have a font, so the returned value could never be null.

11 years agoMake font size a property of Style
Mikko Rasa [Wed, 28 Nov 2012 18:34:54 +0000 (20:34 +0200)]
Make font size a property of Style

11 years agoBind the font texture in Text::render
Mikko Rasa [Wed, 28 Nov 2012 18:29:04 +0000 (20:29 +0200)]
Bind the font texture in Text::render

11 years agoAdd autosizing for panels
Mikko Rasa [Tue, 27 Nov 2012 21:58:07 +0000 (23:58 +0200)]
Add autosizing for panels

It still does a lot of unnecessary layout updates, but seems to work at
least in basic cases.

11 years agoDon't try to solve if container is smaller than its margins
Mikko Rasa [Tue, 27 Nov 2012 21:52:39 +0000 (23:52 +0200)]
Don't try to solve if container is smaller than its margins

Attempting that would cause unsigneds to wrap around to very large values
and cause a weird solution.

11 years agoMake LinearProgram robust against degenerate solutions
Mikko Rasa [Tue, 27 Nov 2012 21:43:34 +0000 (23:43 +0200)]
Make LinearProgram robust against degenerate solutions

If the container is exactly the size required by the widgets, there will
be redundant equations, which causes a degeneracy in the phase 1 solution.

11 years agoReport non-basic variables in Layout::LinearProgram as having zero value
Mikko Rasa [Tue, 27 Nov 2012 11:04:39 +0000 (13:04 +0200)]
Report non-basic variables in Layout::LinearProgram as having zero value

11 years agoUpdate layout when panel's geometry changes
Mikko Rasa [Tue, 27 Nov 2012 08:22:30 +0000 (10:22 +0200)]
Update layout when panel's geometry changes

11 years agoFix a crash if the linear program contains an empty column
Mikko Rasa [Tue, 27 Nov 2012 07:38:29 +0000 (09:38 +0200)]
Fix a crash if the linear program contains an empty column

11 years agoStore autosized geom in Layout::Slot
Mikko Rasa [Tue, 27 Nov 2012 07:36:36 +0000 (09:36 +0200)]
Store autosized geom in Layout::Slot

This avoids having to autosize all widgets in the layout every time one of
them changes, and allows checking whether an update is actually needed.

12 years agoSome cleanup in Layout
Mikko Rasa [Mon, 26 Nov 2012 19:04:36 +0000 (21:04 +0200)]
Some cleanup in Layout

12 years agoImprove comments of the Layout class
Mikko Rasa [Mon, 26 Nov 2012 18:20:00 +0000 (20:20 +0200)]
Improve comments of the Layout class

Add some code comments to describe how the constraints are built and how
the different parts of the simplex method work.  They don't entirely
explain the algorithm, but should help understanding the code.

Minor fixes to the documentation.

12 years agoMiscellaneous other fixes
Mikko Rasa [Wed, 21 Nov 2012 15:58:11 +0000 (17:58 +0200)]
Miscellaneous other fixes

12 years agoAdapt to Collection API changes
Mikko Rasa [Wed, 21 Nov 2012 15:57:44 +0000 (17:57 +0200)]
Adapt to Collection API changes

12 years agoAdjust event handling to match changes in mspgui
Mikko Rasa [Wed, 21 Nov 2012 15:56:49 +0000 (17:56 +0200)]
Adjust event handling to match changes in mspgui

12 years agoRework exceptions and use maputils
Mikko Rasa [Wed, 21 Nov 2012 15:30:10 +0000 (17:30 +0200)]
Rework exceptions and use maputils

12 years agoUpdate Build file with new library names and new features
Mikko Rasa [Wed, 21 Nov 2012 10:03:55 +0000 (12:03 +0200)]
Update Build file with new library names and new features

12 years agoAdd .gitignore file, loosely based on svn:ignore
Mikko Rasa [Wed, 21 Nov 2012 10:02:58 +0000 (12:02 +0200)]
Add .gitignore file, loosely based on svn:ignore

12 years agoStrip copyright messages and id tags from individual files
Mikko Rasa [Wed, 21 Nov 2012 09:49:56 +0000 (11:49 +0200)]
Strip copyright messages and id tags from individual files

13 years agoAdd some classes for automatically creating basic layouts
Mikko Rasa [Fri, 4 Mar 2011 20:25:55 +0000 (20:25 +0000)]
Add some classes for automatically creating basic layouts
Some enhancements to the base Layout class

13 years agoAdd a Layout class to automatically position widgets within a Panel
Mikko Rasa [Mon, 28 Feb 2011 15:29:05 +0000 (15:29 +0000)]
Add a Layout class to automatically position widgets within a Panel

13 years agoAdd a render method to Root that takes care of proper matrices
Mikko Rasa [Mon, 28 Feb 2011 15:27:15 +0000 (15:27 +0000)]
Add a render method to Root that takes care of proper matrices

13 years agoAdd various constructors to Sides (semantics inspired by CSS margins)
Mikko Rasa [Mon, 28 Feb 2011 15:25:26 +0000 (15:25 +0000)]
Add various constructors to Sides (semantics inspired by CSS margins)
Reduce code duplication in Alignment::apply

13 years agoAvoid generating events during destruction of a widget
Mikko Rasa [Mon, 28 Feb 2011 15:22:39 +0000 (15:22 +0000)]
Avoid generating events during destruction of a widget

13 years agoAdd child_added/removed events to Container
Mikko Rasa [Mon, 28 Feb 2011 15:21:49 +0000 (15:21 +0000)]
Add child_added/removed events to Container

13 years agoAdd a signal to notify when the automatic size of a widget changes
Mikko Rasa [Mon, 28 Feb 2011 15:18:18 +0000 (15:18 +0000)]
Add a signal to notify when the automatic size of a widget changes

13 years agoAdjust some slider checks
Mikko Rasa [Mon, 28 Feb 2011 10:56:14 +0000 (10:56 +0000)]
Adjust some slider checks

13 years agoImplement autosize() method for most widgets
Mikko Rasa [Sun, 27 Feb 2011 16:38:33 +0000 (16:38 +0000)]
Implement autosize() method for most widgets
Only take content size into account if the relevant Part exists
Change List autosize() to set a height suitable for five rows
Additional methods to autosize for a set number of rows or all rows
Make sure that a Dropdown's List fits inside the Root

13 years agoLoader improvements
Mikko Rasa [Thu, 3 Feb 2011 12:33:23 +0000 (12:33 +0000)]
Loader improvements

13 years agotypedef tweaks
Mikko Rasa [Thu, 3 Feb 2011 11:48:09 +0000 (11:48 +0000)]
typedef tweaks

13 years agoRearrange members
Mikko Rasa [Wed, 2 Feb 2011 12:05:28 +0000 (12:05 +0000)]
Rearrange members
Make Container a friend of Widget and get rid of the static helpers

14 years agoUpdate helloworld to compile again
Mikko Rasa [Fri, 12 Nov 2010 21:43:58 +0000 (21:43 +0000)]
Update helloworld to compile again

14 years agoStore the Resources reference only in Root widget
Mikko Rasa [Fri, 12 Nov 2010 21:43:29 +0000 (21:43 +0000)]
Store the Resources reference only in Root widget
Make other widgets get it from the Root

SOURCE COMPATIBILITY BREAK

14 years agoImplement autosize for List and use it from Dropdown
Mikko Rasa [Fri, 12 Nov 2010 20:43:38 +0000 (20:43 +0000)]
Implement autosize for List and use it from Dropdown
Rename List::recalculate_parameters to check_view_range
Use Text for rendering List items
Check view range of multiline entries in more places

14 years agoAdd method to get a Part by name
Mikko Rasa [Fri, 12 Nov 2010 08:45:37 +0000 (08:45 +0000)]
Add method to get a Part by name
Use keyword overloading to rename the special keyword to part

14 years agoAdd a constructor to Resources that loads a datafile
Mikko Rasa [Thu, 4 Nov 2010 07:12:01 +0000 (07:12 +0000)]
Add a constructor to Resources that loads a datafile

14 years agoMake sure that at least one line of text is always rendered
Mikko Rasa [Fri, 15 Oct 2010 04:50:20 +0000 (04:50 +0000)]
Make sure that at least one line of text is always rendered
Initialize Entry's visible rows and make sure it's always at least 1

14 years agoAdd Image widget
Mikko Rasa [Mon, 11 Oct 2010 07:24:18 +0000 (07:24 +0000)]
Add Image widget

14 years agoAdd a VSlider to multiline Entries
Mikko Rasa [Wed, 6 Oct 2010 12:28:47 +0000 (12:28 +0000)]
Add a VSlider to multiline Entries
Make Text only render as many lines as fit in the widget

14 years agoStyle update: add spaces around assignments
Mikko Rasa [Tue, 5 Oct 2010 10:26:03 +0000 (10:26 +0000)]
Style update: add spaces around assignments

14 years agoSupport multiline text editing
Mikko Rasa [Sat, 24 Apr 2010 20:47:55 +0000 (20:47 +0000)]
Support multiline text editing

14 years agoMake the Text class interface more obvious by not using a reference to pointer
Mikko Rasa [Tue, 20 Apr 2010 07:57:24 +0000 (07:57 +0000)]
Make the Text class interface more obvious by not using a reference to pointer

14 years agoUpdate text information when widget style changes
Mikko Rasa [Mon, 12 Apr 2010 20:49:41 +0000 (20:49 +0000)]
Update text information when widget style changes

14 years agoAdd Dialog class
Mikko Rasa [Fri, 12 Mar 2010 07:30:41 +0000 (07:30 +0000)]
Add Dialog class

14 years agoDerive Root from Graphics::EventSource
Mikko Rasa [Sun, 28 Feb 2010 11:41:40 +0000 (11:41 +0000)]
Derive Root from Graphics::EventSource
Repeat events from Root, but only if they didn't go to any widget

14 years agoAdd Widget::focusable flag
Mikko Rasa [Sun, 28 Feb 2010 10:32:54 +0000 (10:32 +0000)]
Add Widget::focusable flag
Propagate focus requests through Panels
Add getters for input focus

14 years agoAllow custom tooltips at empty areas of a Root
Mikko Rasa [Fri, 26 Feb 2010 10:50:57 +0000 (10:50 +0000)]
Allow custom tooltips at empty areas of a Root
Fix some bugs

14 years agoHandle line data when inserting/erasing text
Mikko Rasa [Fri, 25 Dec 2009 17:29:37 +0000 (17:29 +0000)]
Handle line data when inserting/erasing text

14 years agoFix compilation on 64-bit systems
Mikko Rasa [Fri, 4 Dec 2009 07:36:45 +0000 (07:36 +0000)]
Fix compilation on 64-bit systems

15 years agoRemove unused code
Mikko Rasa [Sat, 31 Oct 2009 09:37:19 +0000 (09:37 +0000)]
Remove unused code

15 years agoBump version to 1.1 1.1
Mikko Rasa [Wed, 7 Oct 2009 17:55:07 +0000 (17:55 +0000)]
Bump version to 1.1
Update Build file for builder 1.0

15 years agoAdd Text class with multiline support
Mikko Rasa [Sun, 20 Sep 2009 16:27:08 +0000 (16:27 +0000)]
Add Text class with multiline support
Use said class in widgets containing text
Support for displaying tooltips in the Root widget

15 years agoAdd Container class
Mikko Rasa [Wed, 16 Sep 2009 19:16:18 +0000 (19:16 +0000)]
Add Container class
Derive all Widgets that contain other Widgets from Container
Communicate various things to a Widget's parent with signals
Make List::slider not a pointer

15 years agoPrevent problems if a button press handler throws
Mikko Rasa [Mon, 3 Aug 2009 12:24:48 +0000 (12:24 +0000)]
Prevent problems if a button press handler throws
Add optional text parameter to Toggle constructor

15 years agoInherit Root from sigc::trackable so it's safe to delete it
Mikko Rasa [Sun, 26 Jul 2009 19:25:26 +0000 (19:25 +0000)]
Inherit Root from sigc::trackable so it's safe to delete it

15 years agoAdd icon support to Button
Mikko Rasa [Sun, 5 Jul 2009 20:29:10 +0000 (20:29 +0000)]
Add icon support to Button
Make Root take const Resources &
Propatage pointer grabs up the widget stack

16 years agoAdd Changelog.txt 1.0
Mikko Rasa [Tue, 14 Oct 2008 17:10:22 +0000 (17:10 +0000)]
Add Changelog.txt
Bump version

16 years agoMake the List in Dropdown a normal member instead of pointer
Mikko Rasa [Mon, 13 Oct 2008 19:59:40 +0000 (19:59 +0000)]
Make the List in Dropdown a normal member instead of pointer
Cache row_height inside of List
Automatically resize the List associated with a Dropdown to fit the number of items in it

16 years agoRename the basic skin to encourage reusability
Mikko Rasa [Sat, 11 Oct 2008 18:27:05 +0000 (18:27 +0000)]
Rename the basic skin to encourage reusability
Add styles for the rest of the widgets

16 years agoJump 10 steps when slider trough is clicked
Mikko Rasa [Sat, 11 Oct 2008 15:09:51 +0000 (15:09 +0000)]
Jump 10 steps when slider trough is clicked
Take both ascent and descent into account when determining list row size
Use pointer motion instead of pointer leave event to unset active when the pointer leaves a button while the button is pressed
Don't allow unsetting exclusive toggles
Fix a but in Alignment

16 years agoSupport exclusive Toggles for implementing option buttons
Mikko Rasa [Thu, 9 Oct 2008 21:06:13 +0000 (21:06 +0000)]
Support exclusive Toggles for implementing option buttons

16 years agoSet correct mime types for images
Mikko Rasa [Wed, 3 Sep 2008 17:04:10 +0000 (17:04 +0000)]
Set correct mime types for images

16 years agoAdd a simple Hello World application to demonstrate the library
Mikko Rasa [Wed, 3 Sep 2008 16:44:14 +0000 (16:44 +0000)]
Add a simple Hello World application to demonstrate the library

16 years agoClear input focus when the focused widget is hidden
Mikko Rasa [Wed, 20 Aug 2008 07:49:08 +0000 (07:49 +0000)]
Clear input focus when the focused widget is hidden

16 years agoAdd version and description fields to Build 0.9
Mikko Rasa [Tue, 19 Aug 2008 11:43:20 +0000 (11:43 +0000)]
Add version and description fields to Build
Add License.txt
Update svn:ignore

16 years agoAdd Widget::set_focus
Mikko Rasa [Sat, 16 Aug 2008 12:35:31 +0000 (12:35 +0000)]
Add Widget::set_focus
Add Entry::signal_enter
Make Panel throw on an attempt to handle a widget which is not in it

16 years agoFix incorrect usage of DataFile::load
Mikko Rasa [Wed, 23 Jul 2008 00:07:31 +0000 (00:07 +0000)]
Fix incorrect usage of DataFile::load

16 years agoRender text in Dropdown directly from the List
Mikko Rasa [Tue, 22 Jul 2008 17:56:07 +0000 (17:56 +0000)]
Render text in Dropdown directly from the List
Don't add control characters to Entry's buffer

16 years agoAdd UserInterface class
Mikko Rasa [Sun, 20 Jul 2008 19:11:43 +0000 (19:11 +0000)]
Add UserInterface class

16 years agoMigrate from msppath to mspfs
Mikko Rasa [Sun, 20 Jul 2008 12:40:21 +0000 (12:40 +0000)]
Migrate from msppath to mspfs

16 years agoAdd a missing #include
Mikko Rasa [Wed, 25 Jun 2008 09:20:39 +0000 (09:20 +0000)]
Add a missing #include

16 years agoFix Alignment to not fail when geom is larger han parent
Mikko Rasa [Sun, 8 Jun 2008 14:55:50 +0000 (14:55 +0000)]
Fix Alignment to not fail when geom is larger han parent
Use font color for List items

16 years agoClear focus in Panel if focused child is removed
Mikko Rasa [Sun, 1 Jun 2008 18:24:32 +0000 (18:24 +0000)]
Clear focus in Panel if focused child is removed
Translate keys from system to internal codes in Root
Some GL coloring tweaks

16 years agoAdd Table widget
Mikko Rasa [Mon, 28 Apr 2008 13:51:58 +0000 (13:51 +0000)]
Add Table widget
Bugfixes in List

16 years agoAdd List::set_selected_index
Mikko Rasa [Mon, 10 Mar 2008 10:59:14 +0000 (10:59 +0000)]
Add List::set_selected_index
Duplicate the List manipulation functions in Dropdown

16 years agoFix HSlider
Mikko Rasa [Thu, 6 Mar 2008 01:46:11 +0000 (01:46 +0000)]
Fix HSlider

16 years agoChange State into a bitmask to allow more fine-grained control of styles
Mikko Rasa [Mon, 3 Mar 2008 17:48:55 +0000 (17:48 +0000)]
Change State into a bitmask to allow more fine-grained control of styles

16 years agoEnable loading dropdown items from datafile
Mikko Rasa [Wed, 27 Feb 2008 12:25:30 +0000 (12:25 +0000)]
Enable loading dropdown items from datafile
Add a missing range check to List

16 years agoAllow embedded textures in resource datafiles
Mikko Rasa [Sat, 12 Jan 2008 12:12:06 +0000 (12:12 +0000)]
Allow embedded textures in resource datafiles

16 years agoAdd missing dependency to msppath
Mikko Rasa [Sat, 29 Dec 2007 17:35:00 +0000 (17:35 +0000)]
Add missing dependency to msppath
Give the Resources instance to Font::Loader

16 years agoAdd Dropdown widget
Mikko Rasa [Sat, 29 Dec 2007 08:44:09 +0000 (08:44 +0000)]
Add Dropdown widget
Allow widgets to grab the pointer
Support raising widgets
Fix Button and Toggle logic a bit
Bugfixes

16 years agoAdd Toggle widget
Mikko Rasa [Wed, 26 Dec 2007 14:21:05 +0000 (14:21 +0000)]
Add Toggle widget
Only process events in Root if visible

16 years agoAdd ConnSignal action for Connector
Mikko Rasa [Wed, 26 Dec 2007 09:20:37 +0000 (09:20 +0000)]
Add ConnSignal action for Connector
Rename actions to bindings in Logic
Add some documentation to Connector

16 years agoPass coordinates relative to the receiving widget's geometry
Mikko Rasa [Tue, 25 Dec 2007 20:41:08 +0000 (20:41 +0000)]
Pass coordinates relative to the receiving widget's geometry
Add List widget
Make Indicator and List loadable from datafiles
Add Logic and Connector
Refactor some common components of Sliders to the base class
Allow specifying minimum sizes for parts

16 years agoRefactor filling from Part to Alignment
Mikko Rasa [Fri, 14 Dec 2007 16:20:48 +0000 (16:20 +0000)]
Refactor filling from Part to Alignment
Implement VSlider
Make [HV]Slider loabable from datafiles

16 years agoclass Window from mspgbase is now inside namespace Graphics
Mikko Rasa [Thu, 13 Dec 2007 15:07:33 +0000 (15:07 +0000)]
class Window from mspgbase is now inside namespace Graphics

16 years agoEnable loading of entry widgets from datafiles
Mikko Rasa [Tue, 11 Dec 2007 13:30:49 +0000 (13:30 +0000)]
Enable loading of entry widgets from datafiles
Fix focus control logic
Refactor part specification and rendering
Change Alignment to use floats and move it to geometry.*
Add margins for parts
Add cursor to entry widget
Require full filenames of external resources to avoid name conflicts

16 years agoMake widgets aware of their parents
Mikko Rasa [Tue, 11 Dec 2007 08:00:41 +0000 (08:00 +0000)]
Make widgets aware of their parents
Support removing widgets from panels

17 years agoAdd a missing colon to button.h
Mikko Rasa [Tue, 27 Nov 2007 10:59:42 +0000 (10:59 +0000)]
Add a missing colon to button.h
Mark virtual functions in derived classes

17 years agoReorder class members
Mikko Rasa [Tue, 27 Nov 2007 08:41:36 +0000 (08:41 +0000)]
Reorder class members
Add Id tags to all files
Add basic documentation to all classes

17 years agoSupport loading Buttons from datafiles
Mikko Rasa [Fri, 23 Nov 2007 16:01:17 +0000 (16:01 +0000)]
Support loading Buttons from datafiles
Support repeated borders in Graphic
Fix coordinate handling in Root
Use the HOVER state in Button

17 years agoSupport loading Panels from datafiles
Mikko Rasa [Thu, 22 Nov 2007 15:27:08 +0000 (15:27 +0000)]
Support loading Panels from datafiles
Refactor the Panel focus logic
Add visibility property to widgets

17 years agoAdapt to DataFile changes
Mikko Rasa [Fri, 2 Nov 2007 20:22:42 +0000 (20:22 +0000)]
Adapt to DataFile changes