Commit Graph

  • ae9afced2a Added a reminder/TODO related to why I needed to do all that (add resizing). Pietro Gagliardi 2014-02-12 21:37:24 -0500
  • 3d2df2334e Fixed compiler errors. New code structure success! Pietro Gagliardi 2014-02-12 21:33:24 -0500
  • 8e2f3b136e Adjusted sysData.make() to make the new window class and fixed main(). Now to fix compiler errors... Pietro Gagliardi 2014-02-12 21:28:58 -0500
  • 40dc20be0d Whoops, forgot to turn Button.sysData.clicked into Button.sysData.event. Pietro Gagliardi 2014-02-12 21:26:18 -0500
  • 5bc4c49afa Modified Button for the new changes. Now I just need to actually create the window class and edit main()... Pietro Gagliardi 2014-02-12 21:25:25 -0500
  • 942490e1aa Adjusted Control and Window for the new system. Pietro Gagliardi 2014-02-12 21:23:53 -0500
  • 403ca88316 Whoops, class registration now has to go through the UI task. Pietro Gagliardi 2014-02-12 21:11:21 -0500
  • bccbc45bcf The past few commits mean we no longer need to do reverse sysData lookup, so get rid of that. Pietro Gagliardi 2014-02-12 21:09:28 -0500
  • 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. Pietro Gagliardi 2014-02-12 21:08:10 -0500
  • e296398eff Formatting change for cSysData itself. Pietro Gagliardi 2014-02-12 20:57:30 -0500
  • 98d56767a3 Each control may only need one event, so combine them all into a single channel whose use depends on the sysData itself. Also we won't need to save the parentWindow anymore, as the change to the make() function will take care of that for us. Pietro Gagliardi 2014-02-12 20:55:05 -0500
  • 4b16716e61 Restructuring the codebase to make things neater. First off: each window now has its own class; the sysData knows about children. This updates the window class to become a generator and rewrites the WndProc as well. Pietro Gagliardi 2014-02-12 20:51:07 -0500
  • a9ff388944 Added Window.SetTitle(). Also oops, forgot to mark the window as created. Pietro Gagliardi 2014-02-12 18:14:37 -0500
  • 0a9f408129 More TODOs... this time about crashes... oh boy... Pietro Gagliardi 2014-02-12 14:15:09 -0500
  • a272436ee6 Whoops, forgot to add button.go itself :| Pietro Gagliardi 2014-02-12 13:52:34 -0500
  • da92dd55bd Even more TODOs. Pietro Gagliardi 2014-02-12 11:34:36 -0500
  • d3dace0c06 More TODOs. Pietro Gagliardi 2014-02-12 11:34:10 -0500
  • 5f587fbf47 Added button events. Pietro Gagliardi 2014-02-12 11:32:17 -0500
  • ddfb5c7603 Added buttons. Pietro Gagliardi 2014-02-12 11:29:20 -0500
  • 87a99bd675 More TODOs. Pietro Gagliardi 2014-02-12 10:58:05 -0500
  • 33a32c4cda Added a TODO list. Pietro Gagliardi 2014-02-12 10:54:58 -0500
  • 49d0375975 Added initial window size and the Window.SetTitle() function. Pietro Gagliardi 2014-02-12 10:51:27 -0500
  • 3f8fe0e710 Separated initial text from sysData and fixed errors in the previous commits. Pietro Gagliardi 2014-02-12 10:43:57 -0500
  • f93bebfeec Added control ID generation. Pietro Gagliardi 2014-02-12 10:35:15 -0500
  • e9e2c0f269 Set up restrictions tracking. Added a restriction that a window and its controls are fixed to the window once it has been open. Started accounting for parent windows in controls. Pietro Gagliardi 2014-02-12 10:29:56 -0500
  • 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! Pietro Gagliardi 2014-02-11 22:41:55 -0500
  • 6da43e8bb7 Fixed the PeekMessage() call as per http://blogs.msdn.com/b/oldnewthing/archive/2006/02/10/529525.aspx Pietro Gagliardi 2014-02-11 22:38:46 -0500
  • 08ba4a1074 Fixed the wndproc not responding: turns out I have to have message dispatch in the UI thread... Pietro Gagliardi 2014-02-11 22:18:14 -0500
  • ae14253c80 Derp me, more incorrect error checking! But now a window shows, and the process hangs, so progress! Pietro Gagliardi 2014-02-11 20:23:49 -0500
  • 88363e131c Got rid of the reverse HWND->sysData lookup for now, to see if there's a mistake elsewhere. Now we're up to a panic... with Success... Pietro Gagliardi 2014-02-11 20:14:19 -0500
  • cee78198e4 It appears the result of syscall.StringToUTF16Ptr() is only temporary, so removed all that. Now the program just hangs... Pietro Gagliardi 2014-02-11 19:52:39 -0500
  • 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... Pietro Gagliardi 2014-02-11 19:43:07 -0500
  • bc531d60d7 More of the previous error and not printing panics... derp me. Still not fixed yet though... Pietro Gagliardi 2014-02-11 19:34:28 -0500
  • a4182c606b Whoops, copy-paste fail somehow changed init error checks. Now it starts... and hangs before creating a window... Pietro Gagliardi 2014-02-11 19:27:58 -0500
  • 73fa611b37 All build errors resolved. Now to test... Pietro Gagliardi 2014-02-11 19:18:03 -0500
  • ecb2205e02 More error corrections; not done yet... Pietro Gagliardi 2014-02-11 19:09:10 -0500
  • 09a42e0c34 Added the init and testing main functions and started fixing errors. Let's fix the rest and hope it works... Pietro Gagliardi 2014-02-11 18:57:03 -0500
  • 7686c6e599 Added the window creation code. Now let's hope this works... Pietro Gagliardi 2014-02-11 18:50:33 -0500
  • aa3e2788f3 Moved some more data structures to common_windows.go and made more things private. Pietro Gagliardi 2014-02-11 18:36:13 -0500
  • bbff3d4f62 Locked the Windows message loop goroutine to the OS thread. Pietro Gagliardi 2014-02-11 18:32:07 -0500
  • a1344512aa Added the Windows message loop. Pietro Gagliardi 2014-02-11 18:31:24 -0500
  • b918496ae4 Filled in the standard window procedure. Pietro Gagliardi 2014-02-11 18:22:39 -0500
  • c6a8a4d2f7 (see previous commit; part 2) Pietro Gagliardi 2014-02-11 17:39:41 -0500
  • eeff0d8605 Migrated over the window class and window procedure stuff, set up the standard window class, and wrote the skeleton window procedure. Pietro Gagliardi 2014-02-11 17:38:38 -0500
  • b727a972ad Set up initialization on Windows (2/2). Pietro Gagliardi 2014-02-11 16:25:27 -0500
  • af22eea889 Set up initialization on Windows (1/2) and fixed a leftover error in sysdata_windows.go. Pietro Gagliardi 2014-02-11 16:23:38 -0500
  • 9b19ee7245 Moved things that I haven't migated yet out of the way for now. Pietro Gagliardi 2014-02-11 16:17:17 -0500
  • 9794814e93 Started implementing the public API: added the Window and Control types and the skeleton of the Windows implementation. Pietro Gagliardi 2014-02-11 16:14:15 -0500
  • 394bf3ed9c Simplifying file structure by combining controls files (2/2). Pietro Gagliardi 2014-02-11 15:18:28 -0500
  • cac078b9e9 Simplifying file structure by combining controls files (1/2). Pietro Gagliardi 2014-02-11 15:15:22 -0500
  • 42229820d2 Added _windows.go extensions to all the files in preparation for the library writing. Pietro Gagliardi 2014-02-11 13:06:12 -0500
  • a488e3ab36 Added the initial planning document for the portable API. Pietro Gagliardi 2014-02-11 12:33:32 -0500
  • 271c89bad5 Added window sizing. I think I'm now ready for the wrapper itself. Pietro Gagliardi 2014-02-11 09:43:18 -0500
  • 6ae39f57a2 Added window minimum sizes. Pietro Gagliardi 2014-02-11 07:50:00 -0500
  • 07f92bb8d9 Added some TODOs. Pietro Gagliardi 2014-02-10 23:45:21 -0500
  • 07c791331c Improved program appearance by setting the correct font, colors, and other styles. Pietro Gagliardi 2014-02-10 20:48:08 -0500
  • bcc8751c8b Added a checkbox to the example window. Pietro Gagliardi 2014-02-10 17:10:47 -0500
  • 2231c33954 Added static controls and added a static label to the example window. Pietro Gagliardi 2014-02-10 17:02:54 -0500
  • 4d674ebd3d Added listboxes and added a list box to the example window. Pietro Gagliardi 2014-02-10 16:00:11 -0500
  • 0808c696f8 Added edit controls and added one to the example window. Pietro Gagliardi 2014-02-10 15:23:09 -0500
  • e9f25362be Added combo boxes and added some to the main window example. Pietro Gagliardi 2014-02-10 12:44:11 -0500
  • 6ae896cd64 More TODOs. Pietro Gagliardi 2014-02-10 05:00:24 -0500
  • 6662e09c30 Added a button to the test main window, including click handling. Pietro Gagliardi 2014-02-10 04:59:39 -0500
  • ef5739229e Added button code. Pietro Gagliardi 2014-02-09 23:22:12 -0500
  • df8f7a2190 Added window messages and custom message loops. Pietro Gagliardi 2014-02-09 16:40:53 -0500
  • 3482c9c541 Added the rest of the skeleton necessary for opening a simple window as well as the code to actually open one. Now for custom window procedures! Pietro Gagliardi 2014-02-09 14:59:37 -0500
  • ecc00bd1f5 Added a lot of the stuff needed to create a simple window. Not done yet... Pietro Gagliardi 2014-02-08 23:51:11 -0500
  • 35e8a028f5 Initial commit. Added MessageBox() code. Pietro Gagliardi 2014-02-07 21:17:24 -0500