Commit Graph

77 Commits

Author SHA1 Message Date
Pietro Gagliardi eb0188a099 Changed most instances of var to const in the Windows code. Only one left... 2014-05-25 11:31:57 -04:00
Pietro Gagliardi 582e3b4644 Implemented triple-clicks and up on Windows. 2014-05-23 17:01:56 -04:00
Pietro Gagliardi be56293e9c Found a method in NSArrayController via Stack Overflow which lets me suppress selection-changing behavior on NSTableView inserts; use that on Listbox in Mac OS X. This means sysData.selectIndices() and its Mac OS X implementation can (and has) gone away, clearing TODOs on Windows and Unix by extension. 2014-05-17 12:42:00 -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 7f89f4afb9 More Windows TODO cleanup/removal and future plans. The message-only window in uitask_windows.go now has a title. 2014-04-28 13:06:24 -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 6c265dd54d Rolled back the Windows horizontally scrolling Listbox changes because I can't seem to get it to work on Mac OS X (and keeping that code there is inefficient); removed the guarantee of horizontal scrollbars in Listbox and made that a future plan. Both the Windows and the non-working Mac OS X code is in unmigrated/hscrolllistbox.go (and the unmigrated/ folder will be renamed shortly). 2014-04-13 13:00:07 -04:00
Pietro Gagliardi bd1926db17 Added horizontal scrollbars to Listboxes on Windows. Also fixed typos and bugs in Windows sysData.selectedTexts(). 2014-04-13 02:57:35 -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 bd907dadd8 More future plans and TODOs. 2014-04-10 16:44:45 -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 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 7a079f1cbb Made the sysData.make() change from the previous commit on the Windows backend. 2014-04-01 16:47:36 -04:00
Pietro Gagliardi a94d154e1b Implemented Area.SetSize() on Windows. 2014-03-29 18:51:22 -04:00
Pietro Gagliardi 5c8587ab00 Started the Windows implementation of Area. 2014-03-24 13:32:38 -04:00
Pietro Gagliardi 34ce16d586 Separated file creation dates from the package comment. 2014-03-12 21:55:45 -04:00
Pietro Gagliardi 4b0315131a Added indeterminate ProgressBar code on Windows and fixed up a few other things along the way. 2014-03-12 18:53:57 -04:00
Pietro Gagliardi ef86d0d15a Gave Listboxes a border on Windows by implementing the subset of LBS_STANDARD we want, not just WS_VSCROLL. This will also allow us to have selection changed events later. 2014-03-12 14:44:31 -04:00
Pietro Gagliardi 92fb9efce9 Removed error returns from Combobox.Delete(), Listbox.Delete(), and sysData.delete(), since they are no longer used. Updated the TODO file to mark this issue closed. 2014-03-11 13:50:02 -04:00
Pietro Gagliardi 699f786cd5 Fixed compiler errors in the previous few commits. 2014-03-10 11:06:07 -04:00
Pietro Gagliardi 353c949f64 Removed error returns from sysData.setText() now that we no longer care. 2014-03-10 10:39:08 -04:00
Pietro Gagliardi 65663c0533 Changed Windows sysData.setText() to panic on error. WM_SETTEXT's documentation indicates the main error is memory exhausted, which means we should panic anyway (unless the Go runtime already has). Any other error will be flagged as unexpected; since we're using SetWindowText() we can't differentiate between out of memory and other errors in the way WM_SETTEXT documents anyway. 2014-03-10 10:32:45 -04:00
Pietro Gagliardi f72d6c9900 Removed now-unused error returns from sysData.show() and sysData.hide(). 2014-03-09 21:56:17 -04:00
Pietro Gagliardi 45e0779790 Split sysData.show() into separate show() and firstShow() to accomodate Windows's differing rules for first-time window show; this will also allow me to remove the error returns from sysData.show() and sysData.hide() (later). 2014-03-09 21:40:14 -04:00
Pietro Gagliardi b9f0ad90ec Steamrolled errors under panic() in Combobox/Listbox.Append()/InsertBefore() because screw Windows being different. 2014-03-09 16:02:17 -04:00
Pietro Gagliardi ce2645a83c Added the Windows implementation of Combobox/Listbox.Len(). 2014-03-08 16:58:18 -05:00
Pietro Gagliardi 962a84e056 Fixed Mac OS X control placement flipping. This is done by passing the height of the window around setRect() calls to avoid polling the content view frame each time. 2014-03-03 17:44:03 -05:00
Pietro Gagliardi 06fa3a5174 Added password entry fields; they are the alternate mode of LineEdit. 2014-02-25 15:06:51 -05:00
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