Commit Graph

1096 Commits

Author SHA1 Message Date
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 d1c0b9b29d Not using PostThreadMessage() (a few commits back) seems to fix the weird Invalid thread ID. error that happens when running package ui-based programs in wine for the first time (I assume that issue is related to the one that led to the PostThreadMessage() fix). 2014-04-02 10:17:24 -04:00
Pietro Gagliardi 973853c835 Fixed odd Listbox sizing on Windows. (Windows by default sizes List Box controls so that partial items are not visible.) 2014-04-02 10:15:04 -04:00
Pietro Gagliardi 3fe4c2f113 Control candidates document updates. 2014-04-01 21:34:53 -04:00
Pietro Gagliardi cbf439223b Changed the font loading on Windows to always load the control font unless a flag to not load any font is set; when menus and statusbars are added, they need special casing. This also means the preferred size calculations reads controlFont directly (it will need the same change). 2014-04-01 21:24:20 -04:00
Pietro Gagliardi 8cb3991ef9 Fixed Windows control sizing: turns out simply calling GetTextMetrics() was not enough, as the GetDC() functions don't load the control font into the DC; we have to do it ourselves with SelectObject() (according to GetTextMetrics()'s docs on MSDN). Upon re-evaluation, the only things that need custom fonts are menus and statusbars; I don't know if menus can be done with the standard contorls and statusbars change the font of all controls inside... so how fonts are handled in classData needs to change now. 2014-04-01 21:17:27 -04:00
Pietro Gagliardi af95232589 More TODOs. 2014-04-01 20:01:38 -04:00
Pietro Gagliardi 76de7db2c0 Remove TODO about GTK+ and Cocoa errors since we're just assuming errors are mistakes I made in the implementation because at this point that's really what we're left with since on Cocoa doing manual exception handling is discouraged... or something like that. 2014-04-01 19:27:45 -04:00
Pietro Gagliardi df087d0ea5 Fixed the Windows stalling when scrolling an Area problem: messages were getting lost because (I assume) scrolling is done in a modal event loop. Alas, we have to change to using a dummy window to handle events. Also altered the respective TODO to document bugs now exposed by this fix. 2014-04-01 19:10:30 -04:00
Pietro Gagliardi 2efda7bc39 Separated initial text from sysData.make() on the Mac OS X backend, completing that set of commits. 2014-04-01 17:05:16 -04:00
Pietro Gagliardi 7a079f1cbb Made the sysData.make() change from the previous commit on the Windows backend. 2014-04-01 16:47:36 -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 81153617dc Got rid of gtkWidget and changed to using *C.GtkWidget everywhere. This gets rid of some of the casting functions and invocations of said functions, and only adds sysdata_unix.go to the cgo list. 2014-04-01 16:30:38 -04:00
Pietro Gagliardi a003ff62d5 Removed winerrors.md because I screwed it ages ago. 2014-04-01 16:04:23 -04:00
Pietro Gagliardi 14770e890a Moved <stdlib.h> includes in the GTK+ backend to gtk_unix.h; organized that file a bit. 2014-04-01 16:01:49 -04:00
Pietro Gagliardi 854ec2d17c More TODOs. 2014-04-01 15:54:55 -04:00
Pietro Gagliardi dbbabf35c3 Changed the cSysData dummy functions to an interface that a dummy sysData instance is tested against to make sure that not only all functions exist, but also that they are all the correct type. 2014-04-01 15:34:51 -04:00
Pietro Gagliardi 593ded848b Removed a stray TODO comment whose purpose is long forgotten. 2014-04-01 15:16:29 -04:00
Pietro Gagliardi b2f0fe1956 Reordered each part of the Windows uitask so that it does things in the same order and with the same goroutine setup as the other platforms; this gets rid of a few channels. Also panics on more errors (gets rid of a few more channels) and removed some stray TODOs. 2014-04-01 15:14:57 -04:00
Pietro Gagliardi acc0f72379 Added another row to the open/save dialog test table. 2014-04-01 12:52:13 -04:00
Pietro Gagliardi 144bc17187 Added more stuff about file dialogs. Now mostly complete. 2014-04-01 11:36:40 -04:00
Pietro Gagliardi deae67e9a0 Added (incomplete) stuff about file dialogs to controlcandidates.md. 2014-03-31 22:09:10 -04:00
Pietro Gagliardi 5b8e5f1693 Another name in events_darwin.go (see previous commit). 2014-03-30 22:20:23 -04:00
Pietro Gagliardi 3258c1daed Added right Command to events_darwin.go. 2014-03-30 20:39:57 -04:00
Pietro Gagliardi 6abea02278 Marked Windows MouseEvent.Held as not done; oops. 2014-03-30 20:07:51 -04:00
Pietro Gagliardi ce5cd80dba Updated the documentation: Area now works on all platforms, Modifiers behavior on both left and right keys simultaneously is undefined for now, and the way to create custom Controls no longer involves embedding Area. 2014-03-30 19:57:24 -04:00
Pietro Gagliardi 6a7cb73dda Added key events to Mac OS X Areas. Now Area is feature-complete (but buggy) on all platforms :D Also more TODOs. 2014-03-30 19:53:44 -04:00
Pietro Gagliardi 41a7e3dab8 Implemented Area mouse events on Mac OS X. Also fixed a few other things left behind in the previous commits. Also more TODOs. 2014-03-30 17:52:27 -04:00
Pietro Gagliardi 8c18adcfdb Fixed flaky redraw in Mac OS X Areas. 2014-03-30 14:29:02 -04:00
Pietro Gagliardi 6a40011f85 Implement Mac OS X AreaHandler.Paint(). 2014-03-30 14:25:01 -04:00
Pietro Gagliardi a1830c8883 Fixed Mac OS X Area setAreaSize() not working: I was using the NSWindow setFrame:display: selector instead of sending the two NSView setFrame: and display methods separately. 2014-03-30 13:25:41 -04:00
Pietro Gagliardi 8f944c7ec6 When we created our delegate and view classes on Mac OS X, it turned out we were accidentally subclassing the metaclass (of NSObject and NSView, respectively), not the actual superclass itself. Fixed tha. This also fixed that mysterious objc_new()/[object init] not working on the delegate class problem. 2014-03-30 13:21:10 -04:00
Pietro Gagliardi 08dfb5da20 Attempted to add the Area bare bones and resizing code to the Mac OS X backend. It complains that initWithFrame: is not implemented... 2014-03-30 11:19:13 -04:00
Pietro Gagliardi f2d6daa9ea Added the beginning of the Mac OS X Area implementation. Also fixed the long-broken Mac OS X build. 2014-03-29 23:57:49 -04:00
Pietro Gagliardi b94bd1cc60 More TODOs. 2014-03-29 19:40:45 -04:00
Pietro Gagliardi bafb13dd2f Added Alt+[key] and F10 handling to Windows Area key events. Also more TODOs. 2014-03-29 19:30:08 -04:00
Pietro Gagliardi efdd60375a Documented that the clip area in AreaHandler.Paint() more properly and indicate that it is cleared on each AreaHandler.Paint() call; (try to) implement that on Windows (GTK+ does it for us; noted that as well). 2014-03-29 19:02:09 -04:00
Pietro Gagliardi 652797bd3e More TODOs. 2014-03-29 18:55:50 -04:00
Pietro Gagliardi a94d154e1b Implemented Area.SetSize() on Windows. 2014-03-29 18:51:22 -04:00
Pietro Gagliardi 17ae3546d2 Added repaint after Area event on Windows. 2014-03-29 18:28:37 -04:00
Pietro Gagliardi 8f4780f5d7 Added part of keyboard input on Windows. Need to repaint the window on event return and handle area sizes now... 2014-03-29 17:52:40 -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 85182aec67 More TODOs. 2014-03-29 13:11:19 -04:00
Pietro Gagliardi 5190c7c763 Finished re-adding the numeric keypad keys and fixing up the GTK+ Area implementation to handle the new KeyEvent. Everything seems to work on this end... 2014-03-29 13:09:27 -04:00
Pietro Gagliardi 75acdfd9ad Re-added the numeric keypad keys to ExtKey and removed predefkeys in area_unix.go since all are now being handled. 2014-03-29 13:01:42 -04:00
Pietro Gagliardi 84450cfa64 Added the proper provision for numeric keypad entry. 2014-03-29 12:57:54 -04:00
Pietro Gagliardi a038934ffb Added numeric keypad question to Area planning document; also reformatted it a bit. 2014-03-29 12:35:28 -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 4dd7eebc31 Added the scancode->KeyEvent.Key mapping table. 2014-03-29 12:33:20 -04:00