summaryrefslogtreecommitdiff
path: root/sysdata_windows.go
AgeCommit message (Collapse)Author
2014-08-30Out with the old...Pietro Gagliardi
2014-07-02Moved it all back; the preemptive multitaksing during an event handler kills ↵Pietro Gagliardi
us on all platforms. Going to have to restrict ALL GUI accss to happening from one t hread, so going to need to drop uitask entirely and have just a start() callback for startup code and a post() function for posting requests to windows (like channel sends but into a perpetual buffer).
2014-07-02Moved everything out of the way pending rewrite.Pietro Gagliardi
2014-06-30Restored the previous new API. I'm going to change it so that events are ↵Pietro Gagliardi
callbacks rather than using a window handler, but other than that... yeah.
2014-06-30Rolled back all those changes; I'm stupid.Pietro Gagliardi
2014-06-30Converted the Windows backend to make uitask a function that runs the func() ↵Pietro Gagliardi
passed into it, rather than a channel that sends the function to another dispatcher. Windows lets us, since SendMessage() will switch threads if called form another thread. This gets rid of one goroutine and makes things cleaner. Mac OS X has the same optimization avaialble (performSelectorOnMainThread:); GTK+... doesn't seem to...
2014-06-30Reverted everything back to the old API.Pietro Gagliardi
2014-06-28Fixed the build. New API works on Windows! Also removed TODO on dialogs in ↵Pietro Gagliardi
Windows since I can't reproduce the weird behavior anymore; I guess the new code fixes it.
2014-06-28Migrated sysdata_windows.go to the new API. Also more TODOs.Pietro Gagliardi
2014-06-26Implemented Checkbox.SetChecked() on Windows.Pietro Gagliardi
2014-06-26Allowed tab stops on Windows; see ↵Pietro Gagliardi
http://blogs.msdn.com/b/oldnewthing/archive/2003/10/21/55384.aspx. Fixes #13
2014-06-25Implemented new label behavior on Windows.Pietro Gagliardi
2014-06-12Made sysdata_windows.go send func()s to uitask and not uimsgs. This is also ↵Pietro Gagliardi
more correct, as multi-step processes happen in one homogenous blob instead of in steps spread across two goroutines.
2014-06-11Fixed the implementation of sysData.center() on Windows to be thread-safe; ↵Pietro Gagliardi
also added center() to the _xSysData interface.
2014-06-11added Center function to windowpapplampe
2014-06-10More go fmt.Pietro Gagliardi
2014-06-09Implemented RepaintAll() on Windows.Pietro Gagliardi
2014-06-09Resolved vertical alignment of labels on Windows.Pietro Gagliardi
2014-06-09Removed TODO about Windows label ellipsization; SS_LEFTNOWORDWRAP's docs say ↵Pietro Gagliardi
so. Replaced it with one about vertical label alignment...
2014-06-07Fixed the Windows 7 progressbar animation dumbness.Pietro Gagliardi
2014-06-07Changed SetWindowLong() to SetWindowLongPtr() in the Windows backend. I ↵Pietro Gagliardi
forgot I already had some there :|
2014-06-05Implemented code to save and restore control focus on Windows properly when ↵Pietro Gagliardi
switching away from/back to our program. It's disabled for now though because it doesn't seem to work...
2014-06-05Changed Checkbox on Windows to use BS_CHECKBOX instead of BS_AUTOCHECKBOX; ↵Pietro Gagliardi
this will be necessary to fix the focus issue in todo.md (see http://blogs.msdn.com/b/oldnewthing/archive/2014/05/22/10527522.aspx).
2014-06-03Decided to panic in the hwnd sanity check in sysdata_windows.go; the ↵Pietro Gagliardi
situation /is/ exceptional, after all (and we need to just get rid of all errors sometime).
2014-06-03Migrated area_windows.go to the new string handling. I think that's it for ↵Pietro Gagliardi
converting existing code... Now to test on real Windows.
2014-06-03Migrated stdwndclass_windows.go to the new string handling.Pietro Gagliardi
2014-06-03Converted sysdata_windows.go to use the new string conversion setup from the ↵Pietro Gagliardi
previous commit. This has to be first, otherwise a few other things will fail to compile...
2014-05-30Changed storeSysData() on Windows to write the HWND to the sysData structure ↵Pietro Gagliardi
there. This will be important for removing some of the TODOs from areaWndProc().
2014-05-30Cleaned up the classType struct and sysData.make() in sysdata_windows.go to ↵Pietro Gagliardi
remove unused fields and the window class registration code now that we no longer register window classes on the fly for each new Window/Area.
2014-05-30Changed Areas on WIndows so that they all use the same window class, rather ↵Pietro Gagliardi
than having one per Area.
2014-05-30Changed Areas on Windows to store their sysData inside the window memory ↵Pietro Gagliardi
instead of being given it via a closure. Actually having only one window class for all Areas comes next.
2014-05-30Converted the standard Windows window class (for Window) to be a single ↵Pietro Gagliardi
class, rather than having a new one for each Window. Now for Area.
2014-05-30Moved the standard window class (for Window) on Windows to get the sysData ↵Pietro Gagliardi
pointer from CreateWindowEx() and store it in the window memory instead of being given it via a closure. This will lead to having only one window class for all Windows, which will come next. Also fixed an error in windowsconstgen's output related to GetWindowLongPtr()/SetWindowLongPtr().
2014-05-29Checked to see if the previous commit worked after removing the leftover ↵Pietro Gagliardi
Combobox selectIndex() code; it does. Removed the dummy code from the Windows and GTK+ backends as well.
2014-05-25Removed constants from windows_windows.go, controls_windows.go, and ↵Pietro Gagliardi
comctl_windows.go, as we can now use the constants generator.
2014-05-25Removed CW_USEDEFAULT variable definition. It won't compile right now, but ↵Pietro Gagliardi
our cgo-based generator will make sure that isn't a problem.
2014-05-25Changed most instances of var to const in the Windows code. Only one left...Pietro Gagliardi
2014-05-23Implemented triple-clicks and up on Windows.Pietro Gagliardi
2014-05-17Found a method in NSArrayController via Stack Overflow which lets me ↵Pietro Gagliardi
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-11Consistency change: all Windows API structure field names now match ↵Pietro Gagliardi
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-04-28More Windows TODO cleanup/removal and future plans. The message-only window ↵Pietro Gagliardi
in uitask_windows.go now has a title.
2014-04-13Fixed Area test time label weirdness by making Labels truncate their text ↵Pietro Gagliardi
instead of word-wrapping on all platforms. This doesn't explain GTK+/Wayland, alas.
2014-04-13Rolled back the Windows horizontally scrolling Listbox changes because I ↵Pietro Gagliardi
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-13Added horizontal scrollbars to Listboxes on Windows. Also fixed typos and ↵Pietro Gagliardi
bugs in Windows sysData.selectedTexts().
2014-04-12Fixed Listboxes on Mac OS X having an initial selection.Pietro Gagliardi
2014-04-12Fixed Comboboxes on Mac OS X having an initial selection. This also lays the ↵Pietro Gagliardi
groundwork for adding Combobox/Listbox.Select() as a public function...
2014-04-10More future plans and TODOs.Pietro Gagliardi
2014-04-02Fixed Listbox and LineEdit borders on Windows. Also more TODOs.Pietro Gagliardi
2014-04-02Fixed odd Listbox sizing on Windows. (Windows by default sizes List Box ↵Pietro Gagliardi
controls so that partial items are not visible.)
2014-04-01Changed the font loading on Windows to always load the control font unless a ↵Pietro Gagliardi
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).