Commit Graph

265 Commits

Author SHA1 Message Date
Pietro Gagliardi 4856790299 Fixed the standard window class focus behavior on Windows from the previous commit to work. Also updated the SetFocus() call in area_windows.go to boot and removed the relevant TODO after checking both wine and Windows XP work fine. 2014-06-06 01:49:23 -04:00
Pietro Gagliardi 753f4316e2 Removed the GTK+ indefinite progressbar TODO; the choppiness is correct for GTK+ <= 3.10: http://blogs.gnome.org/mclasen/2013/11/10/smooth-progress/ - mclasen and Company suggest timing with the frame, but this blog post says this will be automatic in 3.12+, so we're good. 2014-06-05 17:47:20 -04:00
Pietro Gagliardi ae0246d6a7 Removed TODO on gdk_device_ungrab() errors: this is a bug in oxygen-gtk and GTK+ relating to a feature of GtkComboBoxes and not some issue with our code. Thanks to garnacho_ in irc.gimp.net/#gtk+ for figuring this out; this issue will not be followed here from this point on. 2014-06-05 14:54:23 -04:00
Pietro Gagliardi 5a9bd4b4b5 Fixed the GTK+ Combobox sizing issues for real this time. 2014-06-05 13:40:47 -04:00
Pietro Gagliardi 89ab55cfbd More TODOs. 2014-06-05 00:55:31 -04:00
Pietro Gagliardi ad4ea927b8 Now that the Windows string handling has been properly fixed, removed the TODO about the 32-bit build being unstable. 2014-06-03 11:17:16 -04:00
Pietro Gagliardi 3058927f2e More TODOs. 2014-06-03 03:22:02 -04:00
Pietro Gagliardi b648af160b Added new Modifiers code for Mac OS X. Also fixed some comment typos and added more TODOs. 2014-05-29 14:26:45 -04:00
Pietro Gagliardi 4bb028b976 More TODOs. Also preemptively removed the Modifiers TODO; I'll be implementing it on Mac OS X now. 2014-05-29 13:41:17 -04:00
Pietro Gagliardi 4045d50f94 Checked to see if the previous commit worked after removing the leftover Combobox selectIndex() code; it does. Removed the dummy code from the Windows and GTK+ backends as well. 2014-05-29 04:41:07 -04:00
Pietro Gagliardi 32480a65c2 Resolved GtkEntry and GtkProgressBar resizing issues; decided from observing how they do padding that worrying about padding is counterproductive for now. 2014-05-24 21:28:28 -04:00
Pietro Gagliardi 511f774649 Finished the Area clicking stuff: formalized the behavior in documentation in area.go, pointed out that Mac OS X already behaves as expected, updated some comments, and removed the relevant TODO. 2014-05-23 23:48:17 -04:00
Pietro Gagliardi 63ae00622a More TODOs about mouse button click counts. The GTK+ implementation might be the killer here... 2014-05-23 13:00:19 -04:00
Pietro Gagliardi ec2749d46c Updated some TODOs (part 2 of yesterday's The Old New Thing post). 2014-05-22 23:23:10 -04:00
Pietro Gagliardi 0b609178ff More of the previous commit. 2014-05-22 04:01:35 -04:00
Pietro Gagliardi 77d861354e More KeyEvent Modifiers designing in the TODO file. 2014-05-22 03:59:19 -04:00
Pietro Gagliardi 6a07a06cb8 Updated TODO on modifier keys handling in KeyEvent. 2014-05-22 03:44:25 -04:00
Pietro Gagliardi e2ab537474 Updated a TODO with a The Old New Thing blog post link posted today (!) that answers the question the TODO asks. 2014-05-21 23:19:55 -04:00
Pietro Gagliardi 8c386274e9 Removed TODO about pixel alignment of scrollviews on Mac OS X; mikeash in irc.freenode.net/#macdev told me this only happens when using fractional pixels (because Mac OS X lets you use fractional coordinates and sizes), so we don't have an issue since all our coordinates are integers. 2014-05-21 18:44:20 -04:00
Pietro Gagliardi 5b0f8e8cc7 Updated TODOs after confirming that Windows and Mac do have MouseEvent.Held[] sorted. 2014-05-20 12:32:05 -04:00
Pietro Gagliardi c01549420d Removed 10.6 build issues from TODO now that that's done. 2014-05-20 09:03:44 -04:00
Pietro Gagliardi 7b7005ec19 TODO file update. 2014-05-19 00:11:50 -04:00
Pietro Gagliardi da2bd70192 Removed Objective-C runtime TODOs from todo.md. 2014-05-16 09:16:44 -04:00
Pietro Gagliardi 342e16008b More TODOs. 2014-05-13 12:02:35 -04:00
Pietro Gagliardi 51bee78044 More TODOs and future plans. 2014-05-11 11:22:15 -04:00
Pietro Gagliardi 9ed8d9c816 Consistency change: all Windows API structure field names now match case-wise (some were forcibly exported in the past for historical reasons: I originally started package ui by trying to write a Windows API wrapper, but decided to ditch that and just use the Windows API directly from package ui). Also more TODOs. 2014-05-11 11:11:57 -04:00
Pietro Gagliardi fefab429fc Documented dragging issues caused by how Mac OS X handles mouse events; also determined that multiple buttons held at once only generates one mouseDragged: signal. 2014-05-10 14:27:29 -04:00
Pietro Gagliardi 605ea3123b Still more TODOs. 2014-05-10 02:34:08 -04:00
Pietro Gagliardi 40c555c269 More TODOs. 2014-05-10 02:17:23 -04:00
Pietro Gagliardi 1bddba06d8 More TODOs, now that I have Mac OS X 10.6 working as well. 2014-05-08 22:23:13 -04:00
Pietro Gagliardi 3508239bf7 Completed extending of mouse buttons to the system's limit; defined (as undefined) the mouse drag behavior for buttons >= 3; implemented all that on the GTK+ side, and decided to have MouseEvents.Held[] be sorted (documentation only for now; need to check the code to make sure it follows). Good Lord... 2014-05-07 17:51:04 -04:00
Pietro Gagliardi 0eaffe120b More TODOs... sigh... 2014-05-07 16:47:27 -04:00
Pietro Gagliardi 8ababaa95c More TODOs. 2014-05-06 20:46:41 -04:00
Pietro Gagliardi 82c2ae6c6b More TODOs. 2014-05-02 12:58:08 -04:00
Pietro Gagliardi a98072a23b Decided not to cap mouse buttons at 3; reflected this in the public interface and in the TODO file. Platform implementations come next. 2014-04-29 16:03:37 -04:00
Pietro Gagliardi b7a5f68543 More TODOs. 2014-04-27 16:32:46 -04:00
Pietro Gagliardi 6c7f862cc1 More TODOs. 2014-04-25 11:04:47 -04:00
Pietro Gagliardi bee9f2a096 More future plans and TODOs. 2014-04-24 20:41:12 -04:00
Pietro Gagliardi bd20855bf4 Checked click to keyboard in Areas on Mac OS X; it works. 2014-04-24 12:59:45 -04:00
Pietro Gagliardi 5cac12e3f0 More future plans and TODOs. 2014-04-20 22:52:26 -04:00
Pietro Gagliardi 6c3058a32d Settled window sizing for GTK+; moved the respective TODO to future plans. 2014-04-15 12:58:17 -04:00
Pietro Gagliardi da2d4da15a Added click-to-focus to GTK+ Areas and documented that click-to-focus happens; also TODOs related to that. 2014-04-14 23:11:28 -04:00
Pietro Gagliardi ef7b564855 Removed the Windows Area resizing glitches TODOs... as they seemed to have gone away on their own (GDI+ issue that no longer applies since I dropped GDI+?). 2014-04-14 17:59:13 -04:00
Pietro Gagliardi 67b574fdc0 More TODOs. 2014-04-14 13:48:54 -04:00
Pietro Gagliardi 2afbaa033d More TODOs. 2014-04-14 12:56:52 -04:00
Pietro Gagliardi a29abd11c0 Ensured that pressing Modifiers+Key/ExtKey does not produce an event with just the Key/ExtKey. 2014-04-14 12:47:49 -04:00
Pietro Gagliardi fb50badf00 Fixed Area test time label weirdness by making Labels truncate their text instead of word-wrapping on all platforms. This doesn't explain GTK+/Wayland, alas. 2014-04-13 18:05:07 -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 417bdb8949 Consolidated NSScrollView code on Mac OS X to be all in one place. 2014-04-13 12:52:10 -04:00
Pietro Gagliardi 136ddf5a5b More shuffling of TODOs and future plans. 2014-04-13 10:27:34 -04:00
Pietro Gagliardi 3fc2ed8a2a More TODO/future plan shuffling. 2014-04-13 00:45:55 -04:00
Pietro Gagliardi c5b4859311 More TODOs and future plans. Also finally removed the TODO about incorrect Area redraw on Windows. 2014-04-13 00:34:08 -04:00
Pietro Gagliardi c04b9112a5 More TODOs and future plans. 2014-04-12 22:33:51 -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 274fa0c292 Fixed Comboboxes on Mac OS X having an initial selection. This also lays the groundwork for adding Combobox/Listbox.Select() as a public function... 2014-04-12 21:49:41 -04:00
Pietro Gagliardi b9e5ef8e4b Verified that the Listbox item text is vertically positioned properly on Mac OS X. 2014-04-12 21:27:15 -04:00
Pietro Gagliardi aef419a83e Documented the thread safety of AreaHandler and Area.SetSize(). 2014-04-12 14:07:31 -04:00
Pietro Gagliardi e713b59bec Removed TODO about Windows -1 conversions, as the Go spec specifically says that signed values are sign-extended to the full size of the type to convert to (and even shows an example of this), so the code we have was correct, not just working out of luck. 2014-04-10 20:52:12 -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 1c11ef2d9c More TODOs. 2014-04-10 19:38:48 -04:00
Pietro Gagliardi a01ffafba0 Fixed Area mouse events being sent when something happens outside the Area itself. 2014-04-10 18:52:43 -04:00
Pietro Gagliardi 1516c0d938 Decided not to make Labels selectable; nothing does it and it's a platform detail. 2014-04-10 16:23:51 -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 7b8580b12d More TODOs. 2014-04-10 13:35:27 -04:00
Pietro Gagliardi 865a0ec662 "Fixed" the zero-size Combobox drop-down on Windows by having Windows fix it for us (and since we did everything we need to do to get it to fix it for us, it was already fixed!). 2014-04-10 12:53:23 -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 9e185d815e Documented that event channels can be assigned to each other to collapse events. 2014-04-10 11:59:40 -04:00
Pietro Gagliardi 0a54daa7b1 More TODOs and future plans. 2014-04-09 22:37:36 -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 78bb4cdace Fixed Area drawing assuming the first pixel of the *image.NRGBA is at i.Pix[0]. 2014-04-09 18:26:20 -04:00
Pietro Gagliardi bfb259da27 Tried to resolve the use a single window class for each type of custom window TODO; found it was nothing but problems, so moved to future plans. 2014-04-09 13:22:16 -04:00
Pietro Gagliardi e395adb214 Fixed GTK+ windows having the wrong background. 2014-04-09 12:04:04 -04:00
Pietro Gagliardi 69b63dbbb8 Slowed GTK+ indeterminate Progressbars down. 2014-04-08 00:21:12 -04:00
Pietro Gagliardi 14bb9e3621 Removed the TODOs about AppQuit: fixed on OS X, never a problem on Windows, unfixable elsewhere (these are window manager window-local(? apparently...) events so they never hit us; thanks to some people in irc.gimp.net/#gtk+). Also added some notes to the future plans document (related to all that). 2014-04-07 12:49:23 -04:00
Pietro Gagliardi af770340c9 Added details of application termination handling. 2014-04-06 19:14:28 -04:00
Pietro Gagliardi 0524a17920 Added borders to GTK+ Listboxes (thanks to jlindgren in irc.gimp.net/#gtk+); ends that TODO. 2014-04-06 13:25:23 -04:00
Pietro Gagliardi a65012f476 More TODOs. 2014-04-05 23:14:25 -04:00
Pietro Gagliardi 7d02af4e81 Removed the bit about selectable messagebox text from the TODO file: that's a platform-specific thing. 2014-04-05 23:10:07 -04:00
Pietro Gagliardi 30c3ee1b98 Gave Listboxes a border on Mac OS X. That just leaves GTK+: oyxgen-gtk always gives GtkScrollingWindows a border, which misled me earlier... other themes don't. 2014-04-05 22:51:01 -04:00
Pietro Gagliardi 3d04200e8d Split the todo.md file into one for immediate TODOs and one for future work; merged the latter with controlcandidates.md to form a single future stuff list. Also cleaned up all those lists. 2014-04-05 19:38:35 -04:00
Pietro Gagliardi 1449409f61 More TODOs. 2014-04-05 13:32:40 -04:00
Pietro Gagliardi bf1e7aae42 More TODOs. 2014-04-04 18:39:06 -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 2e617611c5 Adjusted Button and Combobox sizes on Windows to be better... 2014-04-03 21:00:38 -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 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 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 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 854ec2d17c More TODOs. 2014-04-01 15:54:55 -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