Commit Graph

46 Commits

Author SHA1 Message Date
Pietro Gagliardi 13397f91ee Changed the meaning of the Modifiers keys to be positional, added Super, and pinned down Meta vs. Alt. All but the Meta/Alt one were done after discussion in #go-nuts about how to handle differences in user expectation properly. This is the portable interface only; each platform implementation comes next. 2014-05-16 18:16:25 -04:00
Pietro Gagliardi e4c27a4a72 Fixed weird Area time label truncation on Windows; more TODOs and future plans related to that. 2014-04-13 16:46:22 -04:00
Pietro Gagliardi 6f0d114a8b Changed from using image.NRGBA to image.RGBA (premultiplied alpha) in Area.Paint() since it'll be easier to work with on Windows after applying what Treeki/Ninjifox suggested I do instead of what I am doing now. 2014-04-11 16:13:18 -04:00
Pietro Gagliardi d6abf79932 Added bounds checking to NewArea() and Area.SetSize() such that an Area must have a valid size. 2014-04-10 20:42:01 -04:00
Pietro Gagliardi 013e8707da Removed unnecessary space if the secondaryText argument to MsgBox***() is an empty string. This doesn't change much on Mac OS X; it always shows the informational text field, showing an empty string by default. On GTK+ it seems to get rid of the bold over the primary text; I'm going to assume this is intentional (it looks that way on GTK+ 2; the HIG docs have outdated screenshots...). 2014-04-10 12:35:37 -04:00
Pietro Gagliardi 8259e6d1f8 Added a test for the extremities of the Area's actual drawing area to make sure all pixels are shown on all platforms. That seems to be the case right now... Also more TODOs. 2014-04-09 20:44:07 -04:00
Pietro Gagliardi 8220df86bf Undid the previous change to the keyboard test so that it responds to window closes again. 2014-04-07 18:36:52 -04:00
Pietro Gagliardi 00acf74177 Updated Area's KeyEvent documentation to talk about some window managers on Unix intercepting some events; also updated the keyboard test program to make a note of behaviors related to that. 2014-04-07 12:56:10 -04:00
Pietro Gagliardi f7817f6987 Added (untested; VM issues) code to handle Mac OS X Quit Dock menu items and other related stuff that may happen in the future. Will drop the TODO after I can test it. 2014-04-06 23:33:27 -04:00
Pietro Gagliardi fa880a71cc Added a println() to the main test window to signal that window closing has happened. This is used for ensuring that closing programs from a task switcher works as expected (that is, that the appropriate w.Closing event is triggered if an individual window is asked to be closed, and something else if an application as a whole is...). 2014-04-02 10:27:41 -04:00
Pietro Gagliardi 9423126354 Added positions of all other keys to the keyboard test. Now ready for the Windows port! 2014-03-29 15:56:57 -04:00
Pietro Gagliardi da7363a574 Added the numeric keypad and function keys to the keyboard test. 2014-03-29 14:05:43 -04:00
Pietro Gagliardi 07a877fa6e Updated the GTK+ implementation and test programs to reflect the new KeyEvent setup. 2014-03-29 12:33:36 -04:00
Pietro Gagliardi 769a9ca7cb Added some of the ExtKeys to the keyboard layout test. 2014-03-27 23:57:52 -04:00
Pietro Gagliardi ab6e7121e4 Added a flag to AreaHandler.Key()/Mouse() to indicate that a repaint is needed after that event has been handled. (Having Repaint() as a method deadlocked for the same reason resizing deadlocked before.) 2014-03-27 20:31:23 -04:00
Pietro Gagliardi 9dc4f8694c Added code to the keyboard test to draw the modifier keys. 2014-03-27 19:43:02 -04:00
Pietro Gagliardi 4a1d259f5c Added the beginning of a keyboard input test to be written. Also more TODOs. 2014-03-27 18:31:23 -04:00
Pietro Gagliardi 9533b3d7d4 Added Area mouse events on Windows. Also more TODOs. 2014-03-25 15:06:43 -04:00
Pietro Gagliardi bbccf96981 Fixed the shrinking not working: the Cairo clip rect apparently can fall outside the actual size of the widget. (I did notice this before.) 2014-03-23 21:31:29 -04:00
Pietro Gagliardi a41f582866 Added Area resizing. Everything mostly works, but not making things smaller... 2014-03-23 20:54:11 -04:00
Pietro Gagliardi d1376e035d Added the GTK+ implementation of Area keyboard events. Seems to work fine for now... 2014-03-23 17:12:30 -04:00
Pietro Gagliardi c180703373 Er oh the crash was because I was still using the lock-friendly code. Will still apply the change to memory allocation because memory reuse. 2014-03-17 21:02:11 -04:00
Pietro Gagliardi e5425036e0 Put the Label that changed each second in the main test. 2014-03-17 14:14:29 -04:00
Pietro Gagliardi 4adf1ae5cd Removed the mutexes from Labels and Areas because I'm at my wits end about settling the deadlock between window resizing and setting a Label's text. 2014-03-17 13:37:51 -04:00
Pietro Gagliardi 7c3647712b Updated the test program to the new AreaHandler interface. The deadlock still happens... just not so easily... so it's elsewhere... 2014-03-16 21:52:50 -04:00
Pietro Gagliardi 356ed25b52 Added a time display to the Area test for testing deadlocks that will happen when Area becomes more feature-filled... it appears one has now appeared when resizing the window... 2014-03-16 11:24:30 -04:00
Pietro Gagliardi 6ef6dd8eba Added a test of the mouse event handling. 2014-03-15 22:38:06 -04:00
Pietro Gagliardi e3770fa8de Added a slightly more meaningful test: draw an Image in an area. 2014-03-15 00:55:30 -04:00
Pietro Gagliardi a61b43f50c Hacked around the cairo issue for now; hooked everything together and fixed a few things. Added the Area test to the test program. Now to just hook up the draw event. 2014-03-14 23:06:51 -04:00
Pietro Gagliardi 26c6b97ce1 Removed ui.Event(); all event channels are initialized with their objects now. 2014-03-12 21:47:39 -04:00
Pietro Gagliardi 6ee8d96a6e Added GTK+ indeterminate ProgressBars. 2014-03-12 17:31:13 -04:00
Pietro Gagliardi 2fb7056be4 Standardized message boxes so they appear similarly on all platforms. This shafts Windows because primary/secondary text message boxes were only added in Windows Vista, but at least MSDN provides discourse. 2014-03-12 12:14:24 -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 cdd535cc71 Made Stack.SetStretchy() panic on invalid index, ending that group of functions. Also added the tests for those functions who did not have tests already written. 2014-03-11 17:37:04 -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 699f786cd5 Fixed compiler errors in the previous few commits. 2014-03-10 11:06:07 -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 3e47b00eda Added bounds checks for Combobox.InsertBefore() and Combobox.Delete(). 2014-03-09 10:41:07 -04:00
Pietro Gagliardi a67eaaf9ba Added a flag to the test program to evaluate illegal deletions on Mac OS X, necessary before I make it panic myself. 2014-03-08 21:59:03 -05:00
Pietro Gagliardi 3aa59d4ab9 Added Combobox/Listbox.Len() and its GTK+ implementation. 2014-03-08 16:42:57 -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 d6f289bc86 Split NewStack() into NewHorizontalStack() and NewVerticalStack(). Unexported Orientation and its values accordingly. 2014-03-06 20:30:13 -05:00
Pietro Gagliardi 40a9dc55c9 Changed the ".." import in the test binary to a proper "github.com/andlabs/ui" import. (This means I finally moved my working environment out of a folder src/wingo and into the proper src/github.com/andlabs/ui.) 2014-03-04 23:10:48 -05:00
Pietro Gagliardi 6c33892831 Added flags to show the auxiliary test windows in the test program, to make working with just the main window easier. 2014-03-03 15:55:38 -05:00
Pietro Gagliardi 0333f799d9 Added a Listbox preferredSize test window to the main test program, as it appears I'm going to have to change how sysData.preferredSize() works on Mac OS X to acommodate NSTableView, NSScrollView, and NSProgressIndicator... 2014-03-03 13:58:20 -05:00
Pietro Gagliardi be5458c0a3 Major code restructure to allow Cocoa to work correctly. Cocoa requires that the application loop run on the very first OS thread created, not just an any ordinary thread. To support this, your code must now be run by the UI init code. Windows and Unix builds still work fine; Mac OS X fails for reasons I now have to debug. 2014-03-01 15:18:29 -05:00