Commit Graph

2341 Commits

Author SHA1 Message Date
Pietro Gagliardi b166c0f114 And the uitask message fixed was the issue all along. Now it works. 2014-02-24 14:16:05 -05:00
Pietro Gagliardi 4c6ce9639f Oh right derp, preferredSize() is running on uitask already; don't use the dispatch channel. Almost working... 2014-02-24 14:12:02 -05:00
Pietro Gagliardi d08ad65c4c Potential fix: show the window before getting control preferred sizes; need to make setRect() locking first. 2014-02-24 14:05:38 -05:00
Pietro Gagliardi 62d4886253 More TODOs (unrelated to previous commit). 2014-02-24 13:26:04 -05:00
Pietro Gagliardi 165308b819 Added Windows preferred size code. It doesn't work right now; both GetDC() and GetWindowDC() are not returning at all on both wine and Windows XP; need to debug (print guards are included). 2014-02-24 13:22:59 -05:00
Pietro Gagliardi 1d9a883431 Re-added Windows font grabbing code. I won't use it just yet, since I only now realize I don't actually need it for preferred sizes, but eh 2014-02-24 11:55:38 -05:00
Pietro Gagliardi 3014a5edf1 More TODOs. 2014-02-24 11:35:06 -05:00
Pietro Gagliardi f839192c8f Made sure Stack.SetStretchy() (like all other layout-changing functions) cannot be called once the parent Window has been opened. 2014-02-24 11:19:57 -05:00
Pietro Gagliardi 8bf2b5cc76 Adjusted main_test.go to make use of SetStretchy(). IT WORKS! :D 2014-02-24 11:18:47 -05:00
Pietro Gagliardi b716530863 Added Stack.preferredSize() and fixed errors in stack.go. 2014-02-24 11:14:26 -05:00
Pietro Gagliardi 53db57745f Added Control.preferredSize() and preferredSize() for all the standard Controls. 2014-02-24 10:56:35 -05:00
Pietro Gagliardi 1510af0005 Fixed some compiler errors in the last few commits. 2014-02-24 10:44:20 -05:00
Pietro Gagliardi 1c540117d3 Wrote the new Stack.setRect(). 2014-02-24 10:42:58 -05:00
Pietro Gagliardi a174fbebbd Changed Orientation to a bool to prevent invalid values outright. 2014-02-24 10:30:14 -05:00
Pietro Gagliardi 19f9761a81 Started rewriting Stack to conform to the new layout plan. 2014-02-24 10:29:15 -05:00
Pietro Gagliardi f7ed9deda1 Added a new layout plan for Stack. 2014-02-24 10:22:23 -05:00
Pietro Gagliardi d5ce49c8b0 Added the preferred widget size basework and its GTK+ implementation. 2014-02-23 20:04:33 -05:00
Pietro Gagliardi a0c951cca9 sigh 2014-02-23 17:16:58 -05:00
Pietro Gagliardi ab0b13a3ab Fixed up todo.md to remove things that are done and add more notes. 2014-02-21 11:35:50 -05:00
Pietro Gagliardi e39a5d928c Fixed the unregistered window class error on 64-bit Windows: turns out it was a difference in Go's int vs. what Windows expected (thanks Microsoft for not using your special types here). Fixed all instances of this, even in unmigrated/. Still does not work in wine... 2014-02-21 02:27:59 -05:00
Pietro Gagliardi bd51e3e9a7 Got rid of my Windows input lag problems on Windows (triggered by the switch to the concurrent garbage collector sweep routine in the Go runtime) by treating <-uitask as a Windows message itself posted to the message loop thread and not making the message loop a CPU waster. 2014-02-19 22:59:48 -05:00
Pietro Gagliardi 43dd5121b2 More README updates. 2014-02-19 12:47:44 -05:00
Pietro Gagliardi 3284f6c4f4 Updated README to package-ize. 2014-02-19 11:58:52 -05:00
Pietro Gagliardi 4fe6ccce97 Super ultra important TODO related to previous two commits. 2014-02-19 11:57:18 -05:00
Pietro Gagliardi fb5c789fc4 ...and now it magically works again?! after too long, anyway... 2014-02-19 11:56:46 -05:00
Pietro Gagliardi fb82e651a4 Moved to a proper package; main() is now a test and go test -c is used to build. Once I iron out a bug with Windows event handling, I'll add a README. 2014-02-19 11:41:10 -05:00
Pietro Gagliardi c02948847e Missed a ui. in the README example code. 2014-02-18 16:12:38 -05:00
Pietro Gagliardi 24f73c666b More README adjustments. 2014-02-18 16:05:06 -05:00
Pietro Gagliardi 8d7cd85111 Expanded the README. 2014-02-18 16:02:43 -05:00
Pietro Gagliardi 647b69a3bb Fixed the faults: upon further examination, the garbage collector was eating the callback closures! 2014-02-18 14:22:31 -05:00
Pietro Gagliardi 23f6a07c7f Buffered the event channels, as per skelterjohn's suggestion; I thought this would fix the faults I now get, but it doesn't... 2014-02-18 10:53:15 -05:00
Pietro Gagliardi 1f08c874e0 Made event dispatch asynchronous to avoid deadlocks; right now events that cannot be dispatched get dropped. 2014-02-18 09:57:19 -05:00
Pietro Gagliardi 16ab1763ba Added license and README. 2014-02-17 18:38:50 -05:00
Pietro Gagliardi b1b05c2b1f Removed all //package ui comments. 2014-02-17 18:01:32 -05:00
Pietro Gagliardi 96de0c712e Moved the old Windows main() to unmigrated/; may wind up deleting it instead. 2014-02-17 17:39:51 -05:00
Pietro Gagliardi 4363d74c96 Wrote an implementation guide. 2014-02-17 17:38:52 -05:00
Pietro Gagliardi 66045ee876 Simplified the GTK+ Listbox code and added a documentation blob to it. 2014-02-17 16:19:00 -05:00
Pietro Gagliardi e7d280e5e1 Split the GTK+ ListBox implementation into its own file. 2014-02-17 15:49:02 -05:00
Pietro Gagliardi c92a370f08 Isolated all the non-listbox-related GTK+ type conversions into their own file with functions to reduce the amount of code noise in gtkcalls_unix.go. 2014-02-17 15:45:26 -05:00
Pietro Gagliardi e395ea105b Whoops, the GList returned by gtk_tree_selection_get_selected_rows contains GtkTreePaths, not GtkTreeRowReferences. Fixed the index getting. 2014-02-17 07:32:04 -05:00
Pietro Gagliardi 24049d8324 Separated GTK+ listbox index retreival and dereferencing, just to be safe/to allow easier debugging. 2014-02-17 03:10:07 -05:00
Pietro Gagliardi 00abb00e8b More TODOs. 2014-02-17 02:55:59 -05:00
Pietro Gagliardi fd86aa55c8 Added GTK+ message boxes. 2014-02-17 02:54:58 -05:00
Pietro Gagliardi 316e5e9db4 Split out the dialog functions into portable and non-portable code to keep the package documentation in the portable code only. 2014-02-17 02:34:58 -05:00
Pietro Gagliardi 56923d0bda Added scrollbars to the Listbox GtkTreeViews. 2014-02-17 02:29:49 -05:00
Pietro Gagliardi 7617fe6d42 Okay, fixed item showing; the GtkTableView column just needed the text attribute. Now I need scrollbars... 2014-02-17 02:18:42 -05:00
Pietro Gagliardi a018dabde9 Fixed GTK+ listboxes to create item cells and not show headers; still not displaying item text... 2014-02-17 02:16:33 -05:00
Pietro Gagliardi 0595135d9a Fixed the GTK+ crashes (I think) by making resizes synchronous. Since all control resizes happen on the UI thread anyway, we don't need to dispatch back; just call the resizing functions directly. Windows gets this fix too for consistency (and also because it gets rid of the only asynchronous oddity in the system). 2014-02-17 01:40:53 -05:00
Pietro Gagliardi 0856e953be Added GTK+ listboxes... sort of. This whole thing is so broken it's funny. 2014-02-16 23:50:54 -05:00
Pietro Gagliardi 919e89ca7e Added GTK+ Labels. 2014-02-16 22:03:14 -05:00