Commit Graph

42 Commits

Author SHA1 Message Date
Pietro Gagliardi 8a81650b3d Moved it all back; the preemptive multitaksing during an event handler kills us on all platforms. Going to have to restrict ALL GUI accss to happening from one t hread, so going to need to drop uitask entirely and have just a start() callback for startup code and a post() function for posting requests to windows (like channel sends but into a perpetual buffer). 2014-07-02 22:53:03 -04:00
Pietro Gagliardi 5d339e656b Moved everything out of the way pending rewrite. 2014-07-02 17:13:40 -04:00
Pietro Gagliardi ffa1bbe0b9 Restored the previous new API. I'm going to change it so that events are callbacks rather than using a window handler, but other than that... yeah. 2014-06-30 22:48:12 -04:00
Pietro Gagliardi 33155f7496 Reverted everything back to the old API. 2014-06-30 09:57:44 -04:00
Pietro Gagliardi ea6200a432 Began the migration to the new API. Removed locks from the public control APIs; they won't be needed anymore. 2014-06-28 01:05:06 -04:00
Pietro Gagliardi 1eeadc000a Made the new sizing system work on Windows. 2014-06-25 23:21:57 -04:00
Pietro Gagliardi 057f0eaf53 Migrated existing controls to the new sizing system. 2014-06-25 22:17:26 -04:00
Pietro Gagliardi 39f0c352fb Added the necessary work to make new regular Labels work on the other platforms. 2014-06-25 11:58:13 -04:00
Pietro Gagliardi a3222f248d More go fmt. 2014-06-10 11:38:52 -04:00
Pietro Gagliardi 37ab5f41a7 Cleaned up the scrollbars documentation in the Overview. 2014-06-09 22:37:43 -04:00
Pietro Gagliardi be56293e9c Found a method in NSArrayController via Stack Overflow which lets me suppress selection-changing behavior on NSTableView inserts; use that on Listbox in Mac OS X. This means sysData.selectIndices() and its Mac OS X implementation can (and has) gone away, clearing TODOs on Windows and Unix by extension. 2014-05-17 12:42:00 -04:00
Pietro Gagliardi c32e16fd83 Moved TODOs about new event signals to the future plans document. 2014-04-28 20:59:42 -04:00
Pietro Gagliardi 6c265dd54d Rolled back the Windows horizontally scrolling Listbox changes because I can't seem to get it to work on Mac OS X (and keeping that code there is inefficient); removed the guarantee of horizontal scrollbars in Listbox and made that a future plan. Both the Windows and the non-working Mac OS X code is in unmigrated/hscrolllistbox.go (and the unmigrated/ folder will be renamed shortly). 2014-04-13 13:00:07 -04:00
Pietro Gagliardi dcc21eb087 Pinned down horizontal scrollbar behavior on Listboxes; also reworded the Area scrollbar behavior sentence a bit to match. Now to actually implement the changes... 2014-04-13 02:00:18 -04:00
Pietro Gagliardi d4c79539af Fixed Listboxes on Mac OS X having an initial selection. 2014-04-12 22:05:34 -04:00
Pietro Gagliardi 09e92b0eb3 Documented scrollbars on Listbox and Area to the best of my ability, shuffling the appropriate TODOs around. 2014-04-10 16:18:53 -04:00
Pietro Gagliardi 2647d28f2b Removed the initText parameter from sysData.make() and changed all invocations to call sysData.setText() separately; this avoids the need to check if sysData.setText() is valid. Also implemented that on GTK+. 2014-04-01 16:43:56 -04:00
Pietro Gagliardi 24342eb05d Restored the locks everywhere except on resizing calculations. I'll run under the assumption that uitask cannot process any requests while a resize occurs, which means preferredSize() and Stack/Grid.setRect() are inherently safe... let's hope I'm right... 2014-03-18 11:50:56 -04:00
Pietro Gagliardi 64d5eb541e Changed the new resizing code so that it uses the same allocated slice per window instead of making a new one to store all the resize requests each time. 2014-03-17 21:09:03 -04:00
Pietro Gagliardi 19227080da Changed window resizes so that the actual Control.setRect() functions appended to an array of requests that the resize() function set all at once instead of having each done individually. This will be necessary for what I think will be a solution to the deadlocks. It doesn't work right now; I'm assuming it's allocating too much memory. I know how to fix this, but I'm committing what I have so far to be safe. 2014-03-17 20:42:36 -04:00
Pietro Gagliardi 0e8680c04f Dumped the mutex locks from the other controls and elaborated/asked for help in the README. 2014-03-17 14:09:09 -04:00
Pietro Gagliardi 34ce16d586 Separated file creation dates from the package comment. 2014-03-12 21:55:45 -04:00
Pietro Gagliardi 1e338afc4a Split NewListbox() into NewListbox() (single-selection) and NewMultiSelListbox() (multiple selection); fixed the documentaiton for the Listbox constructor(s) to talk about Listbox and not Combobox, and added some TODOs. 2014-03-11 20:44:04 -04:00
Pietro Gagliardi 92fb9efce9 Removed error returns from Combobox.Delete(), Listbox.Delete(), and sysData.delete(), since they are no longer used. Updated the TODO file to mark this issue closed. 2014-03-11 13:50:02 -04:00
Pietro Gagliardi c43583fe20 Handle out of range on Listbox.Delete(). The Mac OS X exception behavior I previously noted has bene resolved: what happens after exception handling is undefined :| 2014-03-11 13:37:19 -04:00
Pietro Gagliardi ce571bad52 Removed error returns from Control.preferredSize() since errors are not going to be returned anymore. 2014-03-09 19:44:41 -04:00
Pietro Gagliardi 5a7cfedb84 Fixed compiler errors in the previous commit. 2014-03-09 16:56:45 -04:00
Pietro Gagliardi b9f0ad90ec Steamrolled errors under panic() in Combobox/Listbox.Append()/InsertBefore() because screw Windows being different. 2014-03-09 16:02:17 -04:00
Pietro Gagliardi f4506277b9 Added bounds checks for Listbox.InsertBefore(). This stupid 32-bit Mac bug keeps Listbox.Delete() unchecked for now... 2014-03-09 10:51:01 -04:00
Pietro Gagliardi 3aa59d4ab9 Added Combobox/Listbox.Len() and its GTK+ implementation. 2014-03-08 16:42:57 -05:00
Pietro Gagliardi 9dc6e6f7b3 Pinned (or marked for later pinninig) behavior of various controls; also improved Space()'s documentation. 2014-03-07 19:28:25 -05:00
Pietro Gagliardi 20dcc48bee Changed Combobox.Append() and Listbox.Append() to accept multiple strings in one call. 2014-03-07 15:01:42 -05:00
Pietro Gagliardi 962a84e056 Fixed Mac OS X control placement flipping. This is done by passing the height of the window around setRect() calls to avoid polling the content view frame each time. 2014-03-03 17:44:03 -05:00
Pietro Gagliardi 53db57745f Added Control.preferredSize() and preferredSize() for all the standard Controls. 2014-02-24 10:56:35 -05:00
Pietro Gagliardi fb82e651a4 Moved to a proper package; main() is now a test and go test -c is used to build. Once I iron out a bug with Windows event handling, I'll add a README. 2014-02-19 11:41:10 -05:00
Pietro Gagliardi b1b05c2b1f Removed all //package ui comments. 2014-02-17 18:01:32 -05:00
Pietro Gagliardi 992d43ac7b Added Listbox.Selection() and Listbox.SelectedIndices(). Also fixed a bug involving sysData.selectedIndices() with nothing selected. 2014-02-15 18:36:42 -05:00
Pietro Gagliardi 14aaad6be3 Added Combobox.Delete() and Listbox.Delete() and added some TODOs. 2014-02-15 18:14:43 -05:00
Pietro Gagliardi 3c25b58652 Added Listbox.Append() and Listbox.InsertBefore(). 2014-02-15 17:59:12 -05:00
Pietro Gagliardi 99feed7628 Removed setting the initial width and height in sysData.make() (this gets rid of the dummy 300x300 sizes from the controls) and added an explicit sysData.setWindowSize() to Window.Open() to ensure everything's sized properly. 2014-02-15 13:07:46 -05:00
Pietro Gagliardi 168b6eb112 Handled all controls's created field. 2014-02-14 20:41:36 -05:00
Pietro Gagliardi 88646445b0 Added Listboxes. You can't use the results just yet... 2014-02-14 16:25:39 -05:00