Commit Graph

46 Commits

Author SHA1 Message Date
Pietro Gagliardi a8bd21fe95 Added Windows implementation of ProgressBar and the requisite comctl32.dll code. 2014-02-25 08:28:10 -05:00
Pietro Gagliardi 668de3bccb Added most of the Windows implementation of ProgressBar. Now to grab the comctl32.dll stuff. 2014-02-25 01:02:16 -05:00
Pietro Gagliardi 58f6bed7e4 Set the default control font on Windows to the expected standard font instead of to the default System font. 2014-02-24 14:49: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 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 992d43ac7b Added Listbox.Selection() and Listbox.SelectedIndices(). Also fixed a bug involving sysData.selectedIndices() with nothing selected. 2014-02-15 18:36:42 -05:00
Pietro Gagliardi 2d97a24463 Added Combobox.SelectedIndex(). 2014-02-15 18:27:34 -05:00
Pietro Gagliardi 14aaad6be3 Added Combobox.Delete() and Listbox.Delete() and added some TODOs. 2014-02-15 18:14:43 -05:00
Pietro Gagliardi ca1c513159 Added vertical scroll bars to Combobox. 2014-02-15 17:55:15 -05:00
Pietro Gagliardi c67191094f Made sure sysData.selectedIndices() returns an empty slice if nothing was selected in a single-selection listbox. 2014-02-15 14:05:10 -05:00
Pietro Gagliardi 063293456d More error handling reduction. 2014-02-15 14:03:46 -05:00
Pietro Gagliardi d1768f2787 Reduced the number of unnecessary error returns based on MSDN. The TODOs that used to be there have been moved to a new file; similar files for Mac and Linux will also be made. 2014-02-15 13:36:24 -05:00
Pietro Gagliardi dce24dae3f Resolved some more TODOs... though resolving the rest in this file is going to be fun... 2014-02-15 13:16:17 -05:00
Pietro Gagliardi 99feed7628 Removed setting the initial width and height in sysData.make() (this gets rid of the dummy 300x300 sizes from the controls) and added an explicit sysData.setWindowSize() to Window.Open() to ensure everything's sized properly. 2014-02-15 13:07:46 -05:00
Pietro Gagliardi 32e70f6414 Added sysData.setWindowSize(), which will simplify a few things in Window.Open() and Control.make(). 2014-02-15 13:02:10 -05:00
Pietro Gagliardi a65e5d8743 Fixed build errors in the previous commits. 2014-02-15 12:45:17 -05:00
Pietro Gagliardi 0c0bbc29fa Added combobox/listbox selection helper functions. 2014-02-15 12:32:12 -05:00
Pietro Gagliardi 0e2c1d2314 Added sysData.insertBefore(). 2014-02-15 12:06:29 -05:00
Pietro Gagliardi ffe90eb659 Added scrollbars to Listbox. 2014-02-14 22:10:35 -05:00
Pietro Gagliardi 88646445b0 Added Listboxes. You can't use the results just yet... 2014-02-14 16:25:39 -05:00
Pietro Gagliardi 61d7f285ac Renamed sysData.editable to sysData.alternate in preparation for ListBox. 2014-02-14 15:54:56 -05:00
Pietro Gagliardi 9070eae214 Added labels. 2014-02-14 15:12:03 -05:00
Pietro Gagliardi 681afdf0ad Added LineEdit. 2014-02-14 15:00:59 -05:00
Pietro Gagliardi 39442cefeb Added Combobox. 2014-02-14 12:16:27 -05:00
Pietro Gagliardi 44842fea4b Added Checkbox.Checked(). 2014-02-13 15:14:10 -05:00
Pietro Gagliardi f3c77bda6e Added checkboxes. You can't really do anything with them yet, though... 2014-02-13 12:26:43 -05:00
Pietro Gagliardi 5626b9e35c Added sizing of windows and the main window control. It presently deadlocks; I'll need to redo my mutexes... 2014-02-13 05:28:26 -05:00
Pietro Gagliardi 3d2df2334e Fixed compiler errors. New code structure success! 2014-02-12 21:33:24 -05:00
Pietro Gagliardi 8e2f3b136e Adjusted sysData.make() to make the new window class and fixed main(). Now to fix compiler errors... 2014-02-12 21:28:58 -05:00
Pietro Gagliardi 3dcbb3920d Windows sysData has been adjusted to deal with child controls. Rather than storing the parent window, it is passed as an argument to sysData.make(), which does the child ID allocation. Child IDs are now window-local, getting rid of that restriction. 2014-02-12 21:08:10 -05:00
Pietro Gagliardi a9ff388944 Added Window.SetTitle(). Also oops, forgot to mark the window as created. 2014-02-12 18:14:37 -05:00
Pietro Gagliardi ddfb5c7603 Added buttons. 2014-02-12 11:29:20 -05:00
Pietro Gagliardi 49d0375975 Added initial window size and the Window.SetTitle() function. 2014-02-12 10:51:27 -05:00
Pietro Gagliardi 3f8fe0e710 Separated initial text from sysData and fixed errors in the previous commits. 2014-02-12 10:43:57 -05:00
Pietro Gagliardi f93bebfeec Added control ID generation. 2014-02-12 10:35:15 -05:00
Pietro Gagliardi 0f373195de Changed the sysData cache so that if we didn't fill it in yet, getSysData() returns nil instead of panicking, and the standard window procedure jumps directly to the default handler. Not what I originally wanted to do, but whatever, it finally works! 2014-02-11 22:41:55 -05:00
Pietro Gagliardi ae14253c80 Derp me, more incorrect error checking! But now a window shows, and the process hangs, so progress! 2014-02-11 20:23:49 -05:00
Pietro Gagliardi cee78198e4 It appears the result of syscall.StringToUTF16Ptr() is only temporary, so removed all that. Now the program just hangs... 2014-02-11 19:52:39 -05:00
Pietro Gagliardi 9bfe67c49d Changed the caching such that the window procedure is held until we added the HWND to the cache. Now we have a mysterious class not regsitered issue... 2014-02-11 19:43:07 -05:00
Pietro Gagliardi bc531d60d7 More of the previous error and not printing panics... derp me. Still not fixed yet though... 2014-02-11 19:34:47 -05:00
Pietro Gagliardi 73fa611b37 All build errors resolved. Now to test... 2014-02-11 19:18:03 -05:00
Pietro Gagliardi ecb2205e02 More error corrections; not done yet... 2014-02-11 19:09:10 -05:00
Pietro Gagliardi 7686c6e599 Added the window creation code. Now let's hope this works... 2014-02-11 18:50:33 -05:00
Pietro Gagliardi eeff0d8605 Migrated over the window class and window procedure stuff, set up the standard window class, and wrote the skeleton window procedure. 2014-02-11 17:38:38 -05:00
Pietro Gagliardi af22eea889 Set up initialization on Windows (1/2) and fixed a leftover error in sysdata_windows.go. 2014-02-11 16:23:38 -05:00
Pietro Gagliardi 9794814e93 Started implementing the public API: added the Window and Control types and the skeleton of the Windows implementation. 2014-02-11 16:14:15 -05:00