Commit Graph

66 Commits

Author SHA1 Message Date
Pietro Gagliardi 1238936a16 Added Post() and implemented it on Windows. 2014-07-03 11:04:07 -04:00
Pietro Gagliardi f7dedc8cb0 Added the start() function and fixed compilation errors. Everything seems to work... 2014-07-03 10:27:46 -04:00
Pietro Gagliardi 969700f790 Removed WindowHandler. 2014-07-01 09:33:49 -04:00
Pietro Gagliardi f4963e909b Made Button.Clicked a callback. 2014-07-01 08:51:19 -04:00
Pietro Gagliardi 3565889e15 Made Window.Closing a callback closure. 2014-06-30 23:48:08 -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 ccbe01e49e Made the "Title and Text" message box parented like it should have been. This will also allow me to evaluate what happens if message boxes that are parented are closed in non-reverse order. 2014-06-29 17:36:37 -04:00
Pietro Gagliardi affc65a5a4 Fixed the build. New API works on Windows! Also removed TODO on dialogs in Windows since I can't reproduce the weird behavior anymore; I guess the new code fixes it. 2014-06-28 16:37:55 -04:00
Pietro Gagliardi 02d6a03ba3 Decided to make dialogs code-modal; will figure out how to get the behavior I want on Mac OS X - http://stackoverflow.com/questions/24468620/how-do-i-create-a-nested-run-loop-after-nsalert-beginsheetmodalforwindow-tha - Now to see if Windows works... 2014-06-28 16:02:50 -04:00
Pietro Gagliardi 7a1331c04c Converted most of the rest of the test program. Now I just need to figure out what I'm going to do about dialog modality... ugh. 2014-06-28 11:36:55 -04:00
Pietro Gagliardi 35b2c6fa53 Converted most of the rest of the test program to the new API. 2014-06-28 11:08:24 -04:00
Pietro Gagliardi 098beef996 Added Checkbox.SetChecked() and implemented it on GTK+. 2014-06-26 21:36:46 -04:00
Pietro Gagliardi 2a0dbfc74a Added margins and padding to Grid and a test program to make sure they're the same... 2014-06-26 14:22:49 -04:00
Pietro Gagliardi 214467bb93 Implemented window margins for Grids and Stacks. 2014-06-26 10:36:59 -04:00
Pietro Gagliardi 131809fc62 Added a padding/margins test to the test program. 2014-06-26 10:24:07 -04:00
Pietro Gagliardi 2963b2217a Made the Listbox in the Label alignment test resize vertically so as to make the test more meaningful. 2014-06-26 03:41:44 -04:00
Pietro Gagliardi 4b8bbb10a1 Improved the label alignment test. 2014-06-25 16:54:55 -04:00
Pietro Gagliardi 76781bc0de Improved the label alignment test. 2014-06-25 14:10:43 -04:00
Pietro Gagliardi 55c636b1e3 Added new Label alignment test. 2014-06-25 11:44:22 -04:00
Pietro Gagliardi a7747b95a4 Added Window.Center() test to the test program. 2014-06-11 10:10:10 -04:00
Pietro Gagliardi fa4094adeb Added Area.RepaintAll() (requested by aybabtme on the Gopher Academy Slack) and implemented it on Mac OS X. 2014-06-09 22:11:08 -04:00
Pietro Gagliardi 641d11c6fe Implemented the new MsgBox()/MsgBoxError() behavior on Windows. 2014-06-08 08:50:52 -04:00
Pietro Gagliardi 7ee05f8263 Added the concept of transience to MsgBox() and MsgBoxError(). Individual implementations will come next. 2014-06-04 23:12:56 -04:00
Pietro Gagliardi 427a0f3a74 Big change to Window: split Open()'s functionality into Create() and Open(); they no longer return errors. 2014-06-03 23:08:51 -04:00
Pietro Gagliardi a1150fb9ea Added a test of MsgBox() event modality to the standard Area test. 2014-06-02 17:04:39 -04:00
Pietro Gagliardi 370649ec51 Decided to drop the whole handled thing with Area events and just continue the event chain if needed. Same for MousEvent; will have to document that. This is just the test program for now. 2014-06-01 23:34:26 -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 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 07a877fa6e Updated the GTK+ implementation and test programs to reflect the new KeyEvent setup. 2014-03-29 12:33:36 -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 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