Commit Graph

1202 Commits

Author SHA1 Message Date
Pietro Gagliardi 1238936a16 Added Post() and implemented it on Windows. 2014-07-03 11:04:07 -04:00
Pietro Gagliardi f7dedc8cb0 Added the start() function and fixed compilation errors. Everything seems to work... 2014-07-03 10:27:46 -04:00
Pietro Gagliardi 9eb9aa82c0 Removed uitask and made the Window creation functions only callable from the main thread. This si the first part in the real major change, which bans all concurrent use of the API and provides a Post() function for communication. I don't like this, but it's the only way. Untested. 2014-07-03 10:02:27 -04:00
Pietro Gagliardi 8a81650b3d Moved it all back; the preemptive multitaksing during an event handler kills 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-02 22:53:03 -04:00
Pietro Gagliardi 4dd5ceb11d More new plans. 2014-07-02 20:24:10 -04:00
Pietro Gagliardi 8c5030b7f7 More planning. 2014-07-02 20:14:00 -04:00
Pietro Gagliardi ec58bac4dc More planning and TODOs. 2014-07-02 19:56:10 -04:00
Pietro Gagliardi 6bb6f01871 More updates to the new plan. 2014-07-02 18:00:08 -04:00
Pietro Gagliardi 7130526211 Added the new plan. 2014-07-02 17:57:56 -04:00
Pietro Gagliardi 5d339e656b Moved everything out of the way pending rewrite. 2014-07-02 17:13:40 -04:00
Pietro Gagliardi 2d7e168e6a More TODOs. 2014-07-01 23:03:19 -04:00
Pietro Gagliardi 1f0299bd51 Removed the gtk_main_quit() kludge from uitask_unix.go; this also removes our_idle_callback() and its associated stuff. 2014-07-01 19:42:55 -04:00
Pietro Gagliardi 37051f5c15 Migrated the Mac OS X backend to the new uitask system. 2014-07-01 17:11:08 -04:00
Pietro Gagliardi 2a7152339f Fixed indeterminate progress bars on GTK+. This specific fix also avoids any future panics caused by Go and GTK+ racing by doing the pulsing all on GTK+. 2014-07-01 13:47:23 -04:00
Pietro Gagliardi e04e5f5cad Converted the GTK+ backend to use the new uitask. Indeterminate progressbars no longer work; this will be fixed soon. 2014-07-01 12:09:31 -04:00
Pietro Gagliardi 607e710459 Restructured uitask to accept a limited range of actions. Implemented this on the Windows backend. 2014-07-01 11:55:57 -04:00
Pietro Gagliardi ad2c8d9033 Renamed init.go to uitask.go because that should have been done ages ago. 2014-07-01 11:40:11 -04:00
Pietro Gagliardi abb642071d Made the default action for Window.Closing reject the close request. 2014-07-01 09:44:57 -04:00
Pietro Gagliardi 969700f790 Removed WindowHandler. 2014-07-01 09:33:49 -04:00
Pietro Gagliardi f4963e909b Made Button.Clicked a callback. 2014-07-01 08:51:19 -04:00
Pietro Gagliardi 3565889e15 Made Window.Closing a callback closure. 2014-06-30 23:48:08 -04:00
Pietro Gagliardi ffa1bbe0b9 Restored the previous new API. I'm going to change it so that events are callbacks rather than using a window handler, but other than that... yeah. 2014-06-30 22:48:12 -04:00
Pietro Gagliardi 990d50e9a1 Rolled back all those changes; I'm stupid. 2014-06-30 22:42:48 -04:00
Pietro Gagliardi e8a7dd0b87 Converted the Mac OS X backend to use uitask() instead of uitask chan func(). 2014-06-30 21:21:55 -04:00
Pietro Gagliardi 46ba0049cb Converted the Windows backend to make uitask a function that runs the func() 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-30 20:55:42 -04:00
Pietro Gagliardi 496df12751 Disabled MsgBox() on Windows for the time being; I'm going to restructure uitask to avoid needing to deal with channels and it's the only thing using uimsg now. 2014-06-30 20:36:30 -04:00
Pietro Gagliardi 33155f7496 Reverted everything back to the old API. 2014-06-30 09:57:44 -04:00
Pietro Gagliardi e032807546 Copied all the handler-based stuff to a ZIP file as I'm rolling it all back. 2014-06-30 09:56:48 -04:00
Pietro Gagliardi d73a82af38 More TODOs. 2014-06-29 23:21:16 -04:00
Pietro Gagliardi ccbe01e49e Made the "Title and Text" message box parented like it should have been. This will also allow me to evaluate what happens if message boxes that are parented are closed in non-reverse order. 2014-06-29 17:36:37 -04:00
Pietro Gagliardi 6c913bd3e6 More TODOs. 2014-06-29 15:46:06 -04:00
Pietro Gagliardi 3ade409dde FIxed compilation errors in the Mac OS X build. It works, but I still need to fix dialogs before I can push anything. 2014-06-29 14:08:01 -04:00
Pietro Gagliardi 580b06638f More of the same conversion. 2014-06-29 10:45:46 -04:00
Pietro Gagliardi bc50405364 More dialog_darwin.go/.m conversion. 2014-06-29 10:44:03 -04:00
Pietro Gagliardi 7e0a0db492 Did most of the conversion of dialog_darwin.go/.m to the new API. 2014-06-29 10:41:02 -04:00
Pietro Gagliardi f4677247f1 Removed stable.md (it is no longer relevant) and moved redoproposal.md to olddocs/ since it's now being implemented. 2014-06-29 09:33:00 -04:00
Pietro Gagliardi ed989a9d9f Migrated sysdata_darwin.go and uitask_darwin.go to the new API. Now to just wait for the answer to my Stack Overflow question so I can migrate dialog_darwin.go... 2014-06-29 09:07:14 -04:00
Pietro Gagliardi dff7ed3321 Migrated the Mac OS X delegate code to the new API. 2014-06-29 03:09:01 -04:00
Pietro Gagliardi c807771092 More TODOs. 2014-06-28 21:42:54 -04:00
Pietro Gagliardi 385993792f Migrated the GTK+ backend to the new API. 2014-06-28 21:40:44 -04:00
Pietro Gagliardi affc65a5a4 Fixed the build. New API works on Windows! Also removed TODO on dialogs in Windows since I can't reproduce the weird behavior anymore; I guess the new code fixes it. 2014-06-28 16:37:55 -04:00
Pietro Gagliardi 02d6a03ba3 Decided to make dialogs code-modal; will figure out how to get the behavior I want on Mac OS X - http://stackoverflow.com/questions/24468620/how-do-i-create-a-nested-run-loop-after-nsalert-beginsheetmodalforwindow-tha - Now to see if Windows works... 2014-06-28 16:02:50 -04:00
Pietro Gagliardi cd116033a3 Adjusted window.go to make safe functions actually safe. 2014-06-28 15:40:06 -04:00
Pietro Gagliardi 7a1331c04c Converted most of the rest of the test program. Now I just need to figure out what I'm going to do about dialog modality... ugh. 2014-06-28 11:36:55 -04:00
Pietro Gagliardi 35b2c6fa53 Converted most of the rest of the test program to the new API. 2014-06-28 11:08:24 -04:00
Pietro Gagliardi cb10c0fc17 Migrated the keyboard test to the new API. 2014-06-28 10:56:12 -04:00
Pietro Gagliardi 98e701cd3b Migrated uitask_windows.go to the new API. 2014-06-28 10:49:23 -04:00
Pietro Gagliardi f7438c0e10 Migrated init.go to the new API. This should probably be renamed now. 2014-06-28 10:15:24 -04:00
Pietro Gagliardi 3fbf746682 Added rewrite of most of the dialog system for the new API. The Windows API is, however, getting in the way... 2014-06-28 09:37:31 -04:00
Pietro Gagliardi 9134189f52 Migrated controlsize_windows.go and stdwndclass_windows.go to the new API. 2014-06-28 07:25:42 -04:00