Commit Graph

1081 Commits

Author SHA1 Message Date
Pietro Gagliardi da68adf420 Gave controls their proper fonts on Mac OS X. 2014-04-05 15:10:02 -04:00
Pietro Gagliardi 612eba9de3 Updated sysdata_darwin.go to remove some TODOs and change most, if not all, embedded magic numbers to named constants. 2014-04-05 13:59:11 -04:00
Pietro Gagliardi 1449409f61 More TODOs. 2014-04-05 13:32:40 -04:00
Pietro Gagliardi 98ae4cb3b8 Moved all selector and class initialization for bleh_darwin.m into its own function. 2014-04-05 13:30:56 -04:00
Pietro Gagliardi 338cbc0540 Removed NilClass from the shared Mac OS X files (objc_darwin.h and bleh_darwin.m) as the //export issue that required that no longer applies. 2014-04-05 12:39:27 -04:00
Pietro Gagliardi b97e6b864f Fixed 32-bit Mac OS X builds: Area crashed due to random ABI changes. Also more TODOs. 2014-04-04 22:51:30 -04:00
Pietro Gagliardi 8eee2a92b7 Changed the way drawRect: was being added to our Mac OS X Area such that we no longer need a separate function to add it to the class. 2014-04-04 22:21:53 -04:00
Pietro Gagliardi 8c109a0ae9 Updated the Area drawRect: adding error message to look like the ones that come out of the new class system. 2014-04-04 21:35:14 -04:00
Pietro Gagliardi 7ea493873c Changed the Area class on Mac OS X to use the new class creation code. This gets rid of ALL the class creation code from delegate_darwin.go. 2014-04-04 21:32:10 -04:00
Pietro Gagliardi dd20d56f25 Created a new, simpler, easier to work with, and consistent way to create the necessary Objective-C classes in our Go code, and converted the appDelegate class to use it. Now for goArea... 2014-04-04 21:06:01 -04:00
Pietro Gagliardi 9488824240 Wrapper functions are no longer used (see the past few commits), so that comment was removed from bleh_darwin.m. That comment also had the wrong filename all this time (bleh_darwin.go instead of objc_darwin.go). 2014-04-04 20:36:19 -04:00
Pietro Gagliardi e35457b968 Removed objc_alloc(). This should be all of them. Now to redo how classes are handled... 2014-04-04 20:34:35 -04:00
Pietro Gagliardi 5a5b486b6a Removed objc_msgSend_rect(). This also consolidates all initWithFrame: calls into a simple initWithDummyFrame(). 2014-04-04 19:51:59 -04:00
Pietro Gagliardi dd4a7b9cbe Removed objc_msgSend_rect_uint_uint_bool(). 2014-04-04 19:14:03 -04:00
Pietro Gagliardi 461b0cc023 Removed objc_msgSend_rect_bool(). 2014-04-04 19:08:25 -04:00
Pietro Gagliardi ba2c1d6d20 Removed objc_msgSend_uint(). 2014-04-04 18:56:37 -04:00
Pietro Gagliardi bf1e7aae42 More TODOs. 2014-04-04 18:39:06 -04:00
Pietro Gagliardi ef43865923 Removed objc_release(). 2014-04-04 18:08:23 -04:00
Pietro Gagliardi fbde220ab1 Added a TODO related to the previous commit. 2014-04-04 18:00:22 -04:00
Pietro Gagliardi 1b05312da9 Mac OS X indeterminate progresbars were not animating under certain conditions; fix that. 2014-04-04 17:59:23 -04:00
Pietro Gagliardi 3a130b756a Removed objc_new(). The idea is to remove all the objc_* functions that aren't prefixed with C. (except objc_getClass()). 2014-04-04 17:50:27 -04:00
Pietro Gagliardi 1a7bf4cd89 Got rid of objc_addDelegate(); it was only called in one place (Mac OS X Window creation). Also forgot to mention that the previous commit also disables mouse movements in Cocoa Areas for now; I need to replace the current code with one that uses tracking because mouse movements are system-global. 2014-04-04 15:51:40 -04:00
Pietro Gagliardi be668a965a Fixed Mac OS X Button appearance; turns out it was using the wrong font. Also updated the TODO file to mark this fix and remove other stale/already fixed details. 2014-04-04 14:52:38 -04:00
Pietro Gagliardi 2884d45f0f Fixed mouse move events on Mac OS X not returning buttons right, I think: turns out I was sending the wrong message in. Now I have to figure out how to filter out mouse move messages; then I can really make sure this works right... 2014-04-03 23:52:26 -04:00
Pietro Gagliardi 2e617611c5 Adjusted Button and Combobox sizes on Windows to be better... 2014-04-03 21:00:38 -04:00
Pietro Gagliardi 89e3afc413 Added question about Windows proper sizes... for now... 2014-04-03 19:19:19 -04:00
Pietro Gagliardi 2e72ab689a Updated TODO on dragging in an Area (decided to go with what GTK+ and Windows currently do; dragging was working on Windows all along; now dragging is weird on Mac). 2014-04-03 18:33:57 -04:00
Pietro Gagliardi 01d9e1b02b Enabled mouse move events on Mac OS X. Mosue events now just got stranger and buggier there... 2014-04-03 18:33:37 -04:00
Pietro Gagliardi 773668c35b Fixed the major scrolling corruption on Windows: had to commit the scroll changes before we can get to them in our painting routine =P This doesn't fix ALL the issues; check the (now-updated) TODO. 2014-04-02 23:40:38 -04:00
Pietro Gagliardi a325e9e404 More TODOs. 2014-04-02 21:56:45 -04:00
Pietro Gagliardi 07c8aab1e6 More TODOs. 2014-04-02 19:59:39 -04:00
Pietro Gagliardi 4ac5290771 Fixed Listbox and LineEdit borders on Windows. Also more TODOs. 2014-04-02 19:57:49 -04:00
Pietro Gagliardi 77b5afe824 More TODOs. 2014-04-02 13:48:49 -04:00
Pietro Gagliardi 150b999c0a Forced Common Controls version 6 on Windows by embedding the needed manifest in. 2014-04-02 13:47:11 -04:00
Pietro Gagliardi 43311a668f Switched to calling the Windows MulDiv() function instead of reimplementing it ourselves in prefsize_windows.go. 2014-04-02 10:43:28 -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 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