Commit Graph

2363 Commits

Author SHA1 Message Date
Pietro Gagliardi 389269bc66 Fixed the test program crashing after a while (prevent the Window and Controls from being garbage-collected from under us). 2014-07-28 23:55:52 -04:00
Pietro Gagliardi 84e04cdae1 Set up some extended styles on Windows Tables for consistency and future features. 2014-07-28 23:47:45 -04:00
Pietro Gagliardi 8fcadffeaf Implemented Table item text grabbing on Windows. 2014-07-28 23:29:06 -04:00
Pietro Gagliardi 3c34f22373 Fixed up borders for currently implemented controls on Windows. 2014-07-28 22:16:45 -04:00
Pietro Gagliardi 5a70accb2f Fixed the Tab wrong control drawing issues on Windows. 2014-07-28 21:10:13 -04:00
Pietro Gagliardi 7cb6ca1243 Began the implementation of Table on Windows. 2014-07-28 20:52:32 -04:00
Pietro Gagliardi e2ef204b70 Quick note about Table.Unlock() and updates. 2014-07-28 18:03:59 -04:00
Pietro Gagliardi 0b82f37bcb Added the basic Table interface. Now to implement it... 2014-07-28 17:59:50 -04:00
Pietro Gagliardi 286704bedd Fixed the proper recursive application of spaced on Windows tabs by having container.resize() also take the origin coordinates as arguments. 2014-07-28 15:02:27 -04:00
Pietro Gagliardi 13bcf728ba Made the previous commit's changes on Windows. If the Stack Overflow question tells me I'm wrong, we can deal with it then. But yay simple sizing code again :D 2014-07-28 14:43:34 -04:00
Pietro Gagliardi bea4df1abf Began final simplification of size code. spaced is now a global variable; either all controls are given spacing now, or none will. beginResize() is a method on container again. Done on GTK+ and Mac OS X for now. I'm going to go ahead and implement this on Windows in a bit, regardless of whether that Stack Overflow question get answered or not, because ugggggggggh I just want to continue working on this project for fuck's sake! 2014-07-28 14:00:01 -04:00
Pietro Gagliardi 3f124a016e Made Tab in the GTK+ backend scrollable (in case there are too many tabs). 2014-07-28 13:18:03 -04:00
Pietro Gagliardi d8785297ff Added a note about GTK+ color selection dialog deprecations for later. 2014-07-27 14:50:49 -04:00
Pietro Gagliardi be8afd43c0 Copied stack.go and grid.go to a temporary restaging area; removed the margin code from both as we no longer need it there. 2014-07-27 10:48:30 -04:00
Pietro Gagliardi e679f8c9e4 Actually implemented margins in the right place — in container.resize() itself, not just in the actual containers (as the old Stack and Grid code do). I'll need to remove them from Stack and Grid when I merge them back in... 2014-07-27 10:42:59 -04:00
Pietro Gagliardi d34ffa326c Made the sizing recursive chain idempotent and added a -spaced option to the test program to test spacing. 2014-07-26 14:11:03 -04:00
Pietro Gagliardi 22989c13da Removed sizing.endResize(); it's not really used at this point. 2014-07-26 11:21:21 -04:00
Pietro Gagliardi b5d8b4f3de Adjusted autocompletion settings for TextField on Mac OS X. 2014-07-26 11:18:34 -04:00
Pietro Gagliardi 2c810e7165 Verified Mac OS X control appearance and fonts with Interface Builder. 2014-07-26 10:05:18 -04:00
Pietro Gagliardi e8df54cb82 Implemented TextField on Mac OS X. 2014-07-26 09:20:33 -04:00
Pietro Gagliardi 348b3f7032 Implemented TextField on GTK+. 2014-07-26 08:52:33 -04:00
Pietro Gagliardi 4c4235465e Made TextFields properly horizontally scrollable on Windows. 2014-07-26 07:02:19 -04:00
Pietro Gagliardi 4515849e22 Implemented TextField on Windows. 2014-07-26 06:57:11 -04:00
Pietro Gagliardi 52e75e6cce Renamed LineEdit to TextField. 2014-07-26 06:43:59 -04:00
Pietro Gagliardi 3db16ffcf6 More TODOs. 2014-07-26 05:55:01 -04:00
Pietro Gagliardi ee5c6ff846 Implemented Tab on Mac OS X. Woo! I'll need to add justification for what I'm doing with the whole recursive call thing; when I get confirmation from the GTK+ camp I will. 2014-07-25 23:11:41 -04:00
Pietro Gagliardi 41f3ef292f Cleaned up sizing a bit. Being able to know how big something will be ahead of time would be better. 2014-07-25 22:13:09 -04:00
Pietro Gagliardi c676a2d9b7 Implemented Tab on GTK+. I really don't like the way sizing works now... 2014-07-25 20:47:08 -04:00
Pietro Gagliardi 3d5e8feba4 Implemented the various parenting and sizing changes on the Mac OS X backend; also moved a line in window_windows.go around for consistency. 2014-07-25 20:10:09 -04:00
Pietro Gagliardi d1702d33e0 Updated the GTK+ backend to have the new parenting and sizing changes. Now to implement Tab! ...though I should probably implement the changes on Mac OS X first. 2014-07-25 19:44:32 -04:00
Pietro Gagliardi 010c97d686 Adjusted sizing data to act as the base container type; this is needed for proper resizing on both GTK+ and Mac OS X. 2014-07-25 19:28:34 -04:00
Pietro Gagliardi 4680e35300 Simplified the control nesting model by removing Control.unparent() and requiring all Windows to have a Control at construct time; implemented such on Windows. 2014-07-25 17:34:45 -04:00
Pietro Gagliardi d03b8f4b7c Removed extern from C function definitions in containers_windows.c. 2014-07-25 16:06:53 -04:00
Pietro Gagliardi 506ab20582 More TODOs. 2014-07-25 15:59:09 -04:00
Pietro Gagliardi 9ea22218ff Implemented Tab on Windows. 2014-07-25 15:58:24 -04:00
Pietro Gagliardi d515bd74c6 Added the framework for tabs, added necessary assistant routines for tabs, and implemented those assistant routines on the Windows backend. 2014-07-25 12:45:56 -04:00
Pietro Gagliardi 5e9b60a795 Re-added LineEdit interface. Honestly I'm not too thrilled with how the unparent/reparent system is turning out; removing it failed, however... 2014-07-24 17:24:25 -04:00
Pietro Gagliardi a2eb69cbf6 Fixed compilation errors on Mac OS X. Reparenting works; redrawing, however... 2014-07-23 17:09:08 -04:00
Pietro Gagliardi 300835a1b4 Implemented Checkbox on Mac OS X. Also untested; will test next. 2014-07-22 23:32:32 -04:00
Pietro Gagliardi f21fdfd7dc Oops, forgot to fill in a name in a comment in the previous commit. Fixed. 2014-07-22 18:33:44 -04:00
Pietro Gagliardi 3b5c9738fd Implemented the Control parent/unparent redraw provisions on the GTK+ backend. 2014-07-22 18:12:21 -04:00
Pietro Gagliardi e9c6d96d2d Added provisions for proper window redraw on Window.SetParent() and implemented them on Mac OS X; still untested. 2014-07-22 17:45:29 -04:00
Pietro Gagliardi e989c953fa Moved Window.SetControl() into window.go pending addition of fake resize events. 2014-07-22 00:07:41 -04:00
Pietro Gagliardi de92b822a7 More TODOs. 2014-07-21 22:03:18 -04:00
Pietro Gagliardi 58db287ca2 Fixed the RemoveWindowSubclass() crash in Windows Checkboxes. 2014-07-21 21:37:06 -04:00
Pietro Gagliardi 451536f6a5 Mostly added Checkbox to the Windows backend; it doesn't show up right away and it crashes in WM_NCDESTROY... 2014-07-21 21:34:52 -04:00
Pietro Gagliardi d57d2aa2de Added Checkbox on the GTK+ backend, added a checkbox to the test program, and fixed a small error in the GTK+ widgetbase.parent() that kept the new widget hidden. 2014-07-21 21:07:14 -04:00
Pietro Gagliardi 54c999bc42 Switched from gtk_init() to the version that lets us catch and report any errors it encounters. 2014-07-21 16:08:22 -04:00
Pietro Gagliardi d60d176472 Actually, switch back to GtkLayout, as GtkFixed has the side effect of not allowing truly arbitrary resizes. 2014-07-21 10:48:56 -04:00
Pietro Gagliardi d319d9f4ac Switched the GTK+ layout control from GtkLayout back to GtkFixed; the size-allocate thing overrides the size-request issue I had earlier that prompted the switch away. 2014-07-21 10:45:37 -04:00