Commit Graph

1094 Commits

Author SHA1 Message Date
Pietro Gagliardi e517115556 Some fixups in the previous commit. 2014-03-20 12:11:56 -04:00
Pietro Gagliardi 9ea4b1280a Final say on character input woes in Area planning. 2014-03-20 12:10:30 -04:00
Pietro Gagliardi e7750f0235 More Area keyboard planning... 2014-03-20 11:25:29 -04:00
Pietro Gagliardi c766cb965f Added complementary GLib/GObject version compatibility macros to gtk_unix.h alongside the GDK/GTK+ ones. 2014-03-19 21:16:35 -04:00
Pietro Gagliardi 32112462f8 And whoops I forgot the most important thing: MY USE CASE (for keyboard input in Area planning again) 2014-03-19 17:47:47 -04:00
Pietro Gagliardi 04fa7cf20f Redid the whole Area keyboard event planning, with me coming to more of a definite decision... 2014-03-19 17:46:08 -04:00
Pietro Gagliardi 6447b65dfb Need to rewrite the keyboard planning section of the Area planning doc; added a bunch of links to help... 2014-03-19 12:21:06 -04:00
Pietro Gagliardi be90f38305 guh apple (keyCode not safe) 2014-03-18 23:37:35 -04:00
Pietro Gagliardi 8caf5823e3 Nope, getting rid of the lock on preferredSize() still doesn't let me go back to using channels for Area events. Oh well. 2014-03-18 21:44:46 -04:00
Pietro Gagliardi 901557e46a More Area keyboard planning. 2014-03-18 19:59:37 -04:00
Pietro Gagliardi 3873d1990a Added keyboard planning to the Area planning... oh boy. 2014-03-18 14:18:53 -04:00
Pietro Gagliardi 92dc282ffd Added the framework code for handling keyboard events in GTK+ Areas. Oh boy... this is gonna hurt (as I will describe shortly). 2014-03-18 12:44:21 -04:00
Pietro Gagliardi ac684b15a5 One last quick note in README. 2014-03-18 11:55:35 -04:00
Pietro Gagliardi c628c86597 Updated README with this decision. Also other documents as well. 2014-03-18 11:55:01 -04:00
Pietro Gagliardi 24342eb05d Restored the locks everywhere except on resizing calculations. I'll run under the assumption that uitask cannot process any requests while a resize occurs, which means preferredSize() and Stack/Grid.setRect() are inherently safe... let's hope I'm right... 2014-03-18 11:50:56 -04:00
Pietro Gagliardi b95d581e86 Update on my locking problem in the README. 2014-03-18 11:30:35 -04:00
Pietro Gagliardi 64d5eb541e Changed the new resizing code so that it uses the same allocated slice per window instead of making a new one to store all the resize requests each time. 2014-03-17 21:09:03 -04:00
Pietro Gagliardi c180703373 Er oh the crash was because I was still using the lock-friendly code. Will still apply the change to memory allocation because memory reuse. 2014-03-17 21:02:11 -04:00
Pietro Gagliardi 19227080da Changed window resizes so that the actual Control.setRect() functions appended to an array of requests that the resize() function set all at once instead of having each done individually. This will be necessary for what I think will be a solution to the deadlocks. It doesn't work right now; I'm assuming it's allocating too much memory. I know how to fix this, but I'm committing what I have so far to be safe. 2014-03-17 20:42:36 -04:00
Pietro Gagliardi c078266c6d Quick README fixup 2014-03-17 14:16:30 -04:00
Pietro Gagliardi e5425036e0 Put the Label that changed each second in the main test. 2014-03-17 14:14:29 -04:00
Pietro Gagliardi ad2208d370 Elaborated in the README. 2014-03-17 14:10:23 -04:00
Pietro Gagliardi 0e8680c04f Dumped the mutex locks from the other controls and elaborated/asked for help in the README. 2014-03-17 14:09:09 -04:00
Pietro Gagliardi bdb26046b6 Removed the areasnafu.md now that I have a solution... reverting back to the channel-based approach re-introduced the Paint deadlock, so it was still there all along. 2014-03-17 13:49:12 -04:00
Pietro Gagliardi 4adf1ae5cd Removed the mutexes from Labels and Areas because I'm at my wits end about settling the deadlock between window resizing and setting a Label's text. 2014-03-17 13:37:51 -04:00
Pietro Gagliardi 7c3647712b Updated the test program to the new AreaHandler interface. The deadlock still happens... just not so easily... so it's elsewhere... 2014-03-16 21:52:50 -04:00
Pietro Gagliardi ae554f10c3 Changed Area to use a delegate handler object that implements the new AreaHandler interface for handling events. Also updated the GTK+ backend with this change, and made a few more tweaks to the documentation in area.go. 2014-03-16 21:40:33 -04:00
Pietro Gagliardi ab4d286c78 Added a document explaining my Area woes. 2014-03-16 14:56:40 -04:00
Pietro Gagliardi 356ed25b52 Added a time display to the Area test for testing deadlocks that will happen when Area becomes more feature-filled... it appears one has now appeared when resizing the window... 2014-03-16 11:24:30 -04:00
Pietro Gagliardi 63f8033f49 Split out includes of <gtk/gtk.h> into a new header file so the GTK+ versioning macros can be included in all Go files, not just area_unix.go. 2014-03-16 10:34:12 -04:00
Pietro Gagliardi 7b95e735d6 More TODOs. 2014-03-16 09:54:37 -04:00
Pietro Gagliardi fbef151bb2 Attempted to fix non-handling of the Alt key by having the GDK window's display's keymap used instead; it didn't work. 2014-03-16 01:39:30 -04:00
Pietro Gagliardi 961d8484bc Clarified that MouseEvent.Held will not include Down/Up. 2014-03-15 22:39:16 -04:00
Pietro Gagliardi 6ef6dd8eba Added a test of the mouse event handling. 2014-03-15 22:38:06 -04:00
Pietro Gagliardi 2c547cb5ec Added note in MouseEvent documentation about both Down and Up being 0 representing mouse movement. 2014-03-15 22:30:49 -04:00
Pietro Gagliardi 829cf7b1c6 Added (untested) GTK+ implementation of Area's mouse events. 2014-03-15 22:29:47 -04:00
Pietro Gagliardi a5a3287696 Added portable code for Area's MouseEvent. 2014-03-15 21:36:10 -04:00
Pietro Gagliardi 56c05a4e78 More mouse event planning. I now have enough figured out to implement on GTK+. 2014-03-15 21:07:57 -04:00
Pietro Gagliardi a82a50c440 Documented the details of Area's coordinate system. 2014-03-15 17:27:42 -04:00
Pietro Gagliardi 0cf3a69ed7 More mouse event planning and TODOs. 2014-03-15 17:14:47 -04:00
Pietro Gagliardi b8a3ba82b9 More mouse handling planning. 2014-03-15 16:40:20 -04:00
Pietro Gagliardi 77c72b7387 More mouse event handling planning. 2014-03-15 15:43:35 -04:00
Pietro Gagliardi f259148200 Changed the Go 1.3 comment in README to point to go tip since it was confusing some people. 2014-03-15 14:32:05 -04:00
Pietro Gagliardi e429b8d6b8 Allowed GTK+ windows to be resized smaller than the size request of the controls within. 2014-03-15 14:27:18 -04:00
Pietro Gagliardi 05905e3add Began to plan out what I need for mouse events. 2014-03-15 14:04:27 -04:00
Pietro Gagliardi 5fca3a5a2b More TODOs. 2014-03-15 00:57:28 -04:00
Pietro Gagliardi e3770fa8de Added a slightly more meaningful test: draw an Image in an area. 2014-03-15 00:55:30 -04:00
Pietro Gagliardi 4616fdfc5e Actually committed the rectangle to the Area. Area drawing on GTK+ implemented! 2014-03-14 23:36:47 -04:00
Pietro Gagliardi 6cdda6ebec Provided a way to connect child widget signals in the GTK+ sysData and connected Area to draw. I think I'm getting the wrong child widget, though... 2014-03-14 23:15:24 -04:00
Pietro Gagliardi a61b43f50c Hacked around the cairo issue for now; hooked everything together and fixed a few things. Added the Area test to the test program. Now to just hook up the draw event. 2014-03-14 23:06:51 -04:00