Commit Graph

261 Commits

Author SHA1 Message Date
Pietro Gagliardi a0c3c80393 Finished migrating OS X uiArea to the new scroll system. Now to compile and test. Crossed events come next. 2015-12-19 15:33:54 -05:00
Pietro Gagliardi 8cf437211d Dropped ALL the custom scrolling crap from darwin/area.m. We're going back to NSScrollView baby! 2015-12-19 15:13:44 -05:00
Pietro Gagliardi 327abd04b0 Re-established the OS X build. 2015-12-11 18:58:27 -05:00
Pietro Gagliardi 70886e4ade Moved the old build files away. Yes that's right folks, we're redoing the build system *again*! Isn't that *fun*? 2015-12-10 18:49:50 -05:00
Pietro Gagliardi 529620eb47 Updated a TODO. 2015-12-09 09:07:00 -05:00
Pietro Gagliardi c5a5038382 Fixed the uiMultilineEntry on OS X so that it now actually displays something. More TODOs. 2015-12-09 09:05:28 -05:00
Pietro Gagliardi 11fe5deb73 More NSTextView work. 2015-12-08 21:09:23 -05:00
Pietro Gagliardi ea6e903069 TRIED TO add uiMultilineEntry on OS X. It does not quite work yet. 2015-12-08 13:06:26 -05:00
Pietro Gagliardi f77955aefb Added uiQueueMain() (basically g_idle_add()) and implemented it on all platforms except Haiku. A test to come. After this we can start rewriting the Go package ui at long last. 2015-12-04 23:42:03 -05:00
Pietro Gagliardi 8084041139 Removed uiAreaHandler.RedrawOnResize(); Direct2D requires us to always redraw on resize (see previous commit). Added windows/amd64 to the example makefiles and updated them to use libui.xxx instead of new.xxx. 2015-12-04 21:04:51 -05:00
Pietro Gagliardi 8adb1a25a2 More TODOs. 2015-11-28 12:16:05 -05:00
Pietro Gagliardi bf6fabef21 Implemented the dialog stuff on OS X. 2015-11-28 12:09:14 -05:00
Pietro Gagliardi ff9dcc6d58 Wrote the Haiku allocator and fixed some leftovers in other allocators. 2015-11-17 12:51:51 -05:00
Pietro Gagliardi c40e80d5a5 Added C++ to the build and started writing the actual Haiku code. I think this isg oing to have to require a GCC 4 hybrid... 2015-11-17 11:49:23 -05:00
Pietro Gagliardi f19d3cd0c7 More makefile work. 2015-10-16 22:49:54 -04:00
Pietro Gagliardi 790edf0df8 Assembled a new make system. Not quite working the way I'd like yet, but definitely a start. 2015-10-16 20:55:09 -04:00
Pietro Gagliardi ab97e26efc Moved all the common stuff in a new folder common/. This is part of the makefile simplification. 2015-10-16 18:31:14 -04:00
Pietro Gagliardi b4cbf79cbb Implemented dashing on OS X. 2015-10-16 11:05:08 -04:00
Pietro Gagliardi 191c026d29 And implemented on OS X. 2015-10-14 08:50:56 -04:00
Pietro Gagliardi 2cbbc6c69d Removed the DPI fields from uiAreaDrawParams. We no longer worry about DPI. 2015-10-13 19:44:16 -04:00
Pietro Gagliardi c3fdd3050d Implemented clipping on OS X. 2015-10-13 13:53:24 -04:00
Pietro Gagliardi c6cdabe20d Preparation for proper, extensible state tracking and clipping on Windows. 2015-10-12 21:11:42 -04:00
Pietro Gagliardi de3ccecd5b Implemented skewing. Will do the test now. 2015-10-12 07:58:07 -04:00
Pietro Gagliardi 46e3fee40d Added a center point to scaling transforms. Fixed rotations on GTK+. 2015-10-12 01:43:12 -04:00
Pietro Gagliardi 5792ac76fc Work on more tests. Scaling will need a center point for this test to work correctly... 2015-10-12 01:18:08 -04:00
Pietro Gagliardi 41a33a1aa1 Fixed the failing test. 2015-10-12 00:27:34 -04:00
Pietro Gagliardi f4b0e7e35e Added negative arcs to the OS X backend. Now we have a crash in one of the tests; still debugging. 2015-10-11 23:48:40 -04:00
Pietro Gagliardi b09cdb5137 Made 90° point toward y=+∞. 2015-10-11 20:24:06 -04:00
Pietro Gagliardi 40acbd8fa0 Did the matrix stuff on OS X. Now we can implement more tests. 2015-10-11 13:53:47 -04:00
Pietro Gagliardi 3a932d281b Fixed arcs on the OS X backend too. Woo! 2015-10-10 11:04:15 -04:00
Pietro Gagliardi 73d77ef38b Capped sweeps at 2π radians. 2015-10-09 22:00:41 -04:00
Pietro Gagliardi 2c7ed07747 Changed the arc functions to take a start angle and a sweep amount instead of a start angle and an end angle. This makes it easier to reason about sweeps > 2π radians. 2015-10-09 21:51:43 -04:00
Pietro Gagliardi 844015f71a Fixed typos in the test program that in turn fixed the gradients; also fixed a few Objective-C-isms in the OS X backend. 2015-10-09 18:49:41 -04:00
Pietro Gagliardi 7075bea0f5 Added uiAreaQueueRedrawAll() and implemented on all platforms. NOW we can focus exclusively on the test suite. 2015-10-09 15:27:57 -04:00
Pietro Gagliardi 5da68c64b3 Implemented uiComboboxSetSelected() on OS X and Windows; fixed editable combobox minimum widths on OS X. 2015-10-09 14:39:26 -04:00
Pietro Gagliardi 56d0d35f83 More TODOs. 2015-10-09 12:34:26 -04:00
Pietro Gagliardi 4deb0f364c Migrated the OS X uiArea back into main. 2015-10-09 12:33:45 -04:00
Pietro Gagliardi 8fb5d1212f Implemented the new uiCombobox behavior on OS X. 2015-10-08 16:32:12 -04:00
Pietro Gagliardi 54332b90fb Finally merged out the redo folder. 2015-09-02 13:48:06 -04:00
Pietro Gagliardi 269e99aec3 Removed the old OS X code. 2015-08-27 11:56:07 -04:00
Pietro Gagliardi 3d79ccf24c Migrated container.m. This will behave similarly to the GTK+ backend; bin.m will come next. 2015-07-29 12:17:12 -04:00
Pietro Gagliardi 2e4af8a123 More OS X uiControl work... kinda. At least all the controls that were in previously are now back in; that just leaes the new ones now. 2015-07-24 15:42:10 -04:00
Pietro Gagliardi 62b5365577 More OS X uiControl work. 2015-07-22 23:20:01 -04:00
Pietro Gagliardi d5744df476 More OS X uiControl work, finally. 2015-07-22 23:03:26 -04:00
Pietro Gagliardi 4234b47f62 More OS X uiControl work. 2015-07-11 22:56:43 -04:00
Pietro Gagliardi 89f8bd8643 Migrated OS X uiButton. We're off to a meh start... 2015-07-11 20:28:04 -04:00
Pietro Gagliardi 9f1ef9eaa1 Migrated the OS X uiWindow code back, modernizing it in the process. Also fixed a latent bug in the GTK+ uiWindow code. 2015-07-03 23:12:31 -04:00
Pietro Gagliardi ed9e70c058 Started redoing the OS X port. 2015-07-02 16:09:57 -04:00
Pietro Gagliardi a517beccae Added uiContainerUpdate() calls to each SetMargined(). 2015-05-11 12:42:13 -04:00
Pietro Gagliardi 2c9e63d8d2 Same as previous commits, but for uiContainer. We don't need to do these because everything that calls uiControlSetParent() (which should only ever be a uiContainer) should also be updating themselves afterward (or are about to be destroyed). 2015-05-11 12:20:41 -04:00
Pietro Gagliardi df376a5e0b Started to optimize container updating. Removed container updates from each new control set parent. 2015-05-11 12:16:28 -04:00
Pietro Gagliardi c0c6b4fed6 Made all variables that refer to a tab page be called 'page'. 2015-05-10 21:22:22 -04:00
Pietro Gagliardi e1e9dddfdd Fixed some more warnings on the OS X backend. This also introduces realNSApp() and makes applicationClass global, which is important for fixing a few other TODOs (the setAppleMenu: one, for instance). 2015-05-10 14:27:25 -04:00
Pietro Gagliardi ce96272f03 Fixed a bunch of warnings on the OS X backend. 2015-05-10 14:21:35 -04:00
Pietro Gagliardi 262ffb0bde Migrated to uiBin on OS X and adjusted TODO.md. 2015-05-10 14:17:16 -04:00
Pietro Gagliardi c062d2d0b5 Got rid of darwin/main.m and moved darwin/init.m in its place. The GTK+ backend won't need any of the should quit work; only the Quit item needs work and that shouldn't take too long. The Windows backend needs WM_QUERYENDSESSION support. 2015-05-09 10:24:07 -04:00
Pietro Gagliardi 2b83300e0b Implemented the quitting logic on OS X. Now I can get rid of darwin/main.m and move darwin/init.m in its place. 2015-05-09 10:18:19 -04:00
Pietro Gagliardi 8032c24f74 Implemented the should quit logic on Mac OS X. The actual new quitting logic isn't in yet; that will wait for tests. 2015-05-09 10:05:24 -04:00
Pietro Gagliardi 3d714e03c1 Laid down the scaffolding for application termination on Mac OS X. 2015-05-09 00:37:24 -04:00
Pietro Gagliardi 86a4b0a7ba More expository comments and TODOs. 2015-05-08 20:34:57 -04:00
Pietro Gagliardi f47c8172e1 Implemented uninitMenus() on Mac OS X. 2015-05-08 20:31:19 -04:00
Pietro Gagliardi 2ec8fb8589 Fixed a typo. 2015-05-08 20:24:53 -04:00
Pietro Gagliardi ada7608c14 Added menu tracking to the OS X backend. This is needed for uninitMenus(). 2015-05-08 19:33:51 -04:00
Pietro Gagliardi cf89124be5 Fixed allocation tracking on OS X. 2015-05-08 18:54:42 -04:00
Pietro Gagliardi cc1491d1a7 More TODOs. 2015-05-08 18:02:02 -04:00
Pietro Gagliardi c079e43784 Somewhat implemented uninitAlloc() on OS X. 2015-05-08 17:51:05 -04:00
Pietro Gagliardi 33f41d6c37 Implemented the allocation type stuff on OS X. 2015-05-08 17:29:36 -04:00
Pietro Gagliardi 27d6994bdc Implemented stub uiUninit()s. 2015-05-07 22:32:17 -04:00
Pietro Gagliardi 6c9a122a7d Changed the default uiWindowOnClosing() behavior. Decided to keep the int return. 2015-05-07 20:01:17 -04:00
Pietro Gagliardi 34f55321e0 Added a [libui] and a newline to the message printed by complain(). 2015-05-07 19:34:45 -04:00
Pietro Gagliardi 817e13ae61 Set up visibility on OS X. This seems to work... 2015-05-07 18:38:47 -04:00
Pietro Gagliardi 727b6871bc Made uiFree(NULL) illegal to spot bugs. 2015-05-07 17:45:55 -04:00
Pietro Gagliardi 49595bb18d Set up proper -m flag manipulation for cross-compiling builds. 2015-05-07 16:02:34 -04:00
Pietro Gagliardi a6478d68d1 Set up a shortcut for 32-bit builds on OS X. 2015-05-07 15:47:10 -04:00
Pietro Gagliardi bf67a8b285 Fixed up darwin/init.m a bit. 2015-05-07 15:42:11 -04:00
Pietro Gagliardi 2107595ce7 "Exported" uiSizing fields. 2015-05-07 14:33:46 -04:00
Pietro Gagliardi 7270b54e81 Same, but for OS X. 2015-05-07 13:48:41 -04:00
Pietro Gagliardi 089186a88c Implemented read-only uiEntries on OS X. 2015-05-07 00:31:31 -04:00
Pietro Gagliardi 01ff7965da Implemented uiEntryOnChanged() on Mac OS X. 2015-05-06 20:58:55 -04:00
Pietro Gagliardi c55ec89d19 Implemented uiTabInsertPageBefore() on OS X. 2015-05-06 14:46:50 -04:00
Pietro Gagliardi 2c7bccb3a8 Fixed bin destruction on Mac OS X. 2015-05-06 01:38:32 -04:00
Pietro Gagliardi cc56e2cece Implemented clearing realloc() on the OS X backend. 2015-05-04 20:07:34 -04:00
Pietro Gagliardi 8b8be286ff Made private functions in the various bin source files static. 2015-05-04 17:42:20 -04:00
Pietro Gagliardi b9597028fb Moved some OS X TODOs to the long-term list. 2015-05-04 17:33:05 -04:00
Pietro Gagliardi e571a73247 Made an executive decision about the behavior of uiControlShow() on uiWindows. 2015-05-04 17:23:01 -04:00
Pietro Gagliardi b2e9b646a4 Got rid of typedefs in the various newcontrol files for consistency. 2015-05-04 15:51:23 -04:00
Pietro Gagliardi c6229271cc Implemented tab disabling on OS X. 2015-05-04 14:53:23 -04:00
Pietro Gagliardi 8f5ebd3118 More TODOs. 2015-05-04 01:15:14 -04:00
Pietro Gagliardi d23fae34be Implemented uiControlEnable() and uiControlDisable() for containers and uiWIndow on Mac OS X. 2015-05-04 01:14:18 -04:00
Pietro Gagliardi 4ba0f795eb Switched from manually enabling menu items on OS X to automatic enabling, just like with the application menu. Same code :/ Also cleaned up useless [NSMenuItem setEnabled:] calls. 2015-05-03 21:37:45 -04:00
Pietro Gagliardi 82312861e9 Implemented menu finalization on OS X. 2015-05-03 21:28:21 -04:00
Pietro Gagliardi d25c954d9f Added code to get the active window for menu events on Mac OS X. Will test next. 2015-05-03 21:05:55 -04:00
Pietro Gagliardi 7086373807 Fixed an error left over in the previous commit. 2015-05-03 19:58:12 -04:00
Pietro Gagliardi fd4c559e86 Removed the typename argument from uiAlloc() and uiRealloc(). 2015-05-03 19:52:24 -04:00
Pietro Gagliardi 511cc76ef8 Investigated setAppleMenu:; decided to save it for later. 2015-05-03 16:28:46 -04:00
Pietro Gagliardi 2186192502 Changed c-> to uiControl(c)-> in the various newcontrol files for consistency. 2015-05-03 14:44:46 -04:00
Pietro Gagliardi eae2e92d87 Confirmed that NSMenuValidation was only informal; thanks to Psy| in irc.freenode.net/#macdev for explaining how informal protocols actually worked (since the declaration in the headers threw me off). 2015-05-03 13:39:54 -04:00
Pietro Gagliardi 60d30688eb More TODOs. 2015-05-03 13:18:27 -04:00
Pietro Gagliardi ee3d9c5165 Some more TODO resolution. 2015-05-03 13:17:53 -04:00
Pietro Gagliardi 9ff20ad5f6 Implemented the bin OS parent check on OS X now that I know it actually IS meaningful. 2015-05-03 12:59:11 -04:00
Pietro Gagliardi 2a6da36542 Finished the OS X menu disabling code. 2015-05-03 02:45:59 -04:00
Pietro Gagliardi 810e2225ea Started writing code for proper Quit/Preferences/About enabling and disabling on Mac OS X. 2015-05-02 23:04:37 -04:00
Pietro Gagliardi a8fd88a5f9 Confirmed a TODO. 2015-05-02 21:05:08 -04:00
Pietro Gagliardi 454b3ecb03 Changed the various OS-side control creation functions to use Make like uiMakeContainer() does instead of New. 2015-05-02 20:51:00 -04:00
Pietro Gagliardi 57bc11d67c TODO consolidation. 2015-05-02 14:58:29 -04:00
Pietro Gagliardi c89b473c76 Added the Services menu to the OS X application menu. 2015-05-02 11:11:13 -04:00
Pietro Gagliardi f86d312c74 Verified action signatures in darwin/menu.; thanks to mikeash in irc.freenode.net/#macdev for confirming. 2015-05-01 10:31:56 -04:00
Pietro Gagliardi 2eb995f93f Implemented complain() on Mac OS X. 2015-04-30 23:28:02 -04:00
Pietro Gagliardi 442907ad64 Implemented menu uniqueness checks on OS X. More TODOs. 2015-04-30 23:24:52 -04:00
Pietro Gagliardi 9f2bb5b1fa Oh wait it wasn't duplicate, but now it's in the right place. 2015-04-30 22:47:29 -04:00
Pietro Gagliardi 8b74c2fb92 Removed a duplicate TODO. 2015-04-30 22:46:24 -04:00
Pietro Gagliardi 1034978a2e Attempted to fix uiTab resource freeing on OS X. Seems to work for removing tabs, not sure about deleting controls because of other crashes. 2015-04-30 19:56:12 -04:00
Pietro Gagliardi e2cd6fe9d8 More TODOs. 2015-04-30 18:05:12 -04:00
Pietro Gagliardi 4035aee115 Marked a TODO in darwin/menu.m as resolved; we were already doing it properly. 2015-04-30 18:02:21 -04:00
Pietro Gagliardi 185d9cf122 Made refcounting for new control on GTK+ and OS X consistent. 2015-04-30 17:57:54 -04:00
Pietro Gagliardi 40dee5a693 Added bin destruction OS parent checks. 2015-04-30 17:49:38 -04:00
Pietro Gagliardi d215ee147f Implemented the new uiTab changes on the Mac OS X backend. 2015-04-30 16:34:38 -04:00
Pietro Gagliardi c6023ee151 Some TODO resolution and changes. 2015-04-30 15:08:03 -04:00
Pietro Gagliardi c8695e4ca2 Decided to remove allocation logging. Leak checking can be done with dedicated tools. 2015-04-30 13:37:13 -04:00
Pietro Gagliardi 127f025eee Decided not to bother with destruction blocking for now. 2015-04-30 13:30:00 -04:00
Pietro Gagliardi 8f79f0596f Set hidden flag variables BEFORE updating parent containers. Otherwise, parents won't reposition children correctly on systems where updates happen immediately (like OS X). 2015-04-29 14:25:34 -04:00
Pietro Gagliardi d7f903373f Fixed upside-down container issues on OS X. 2015-04-29 14:21:12 -04:00
Pietro Gagliardi 6c6bce3702 Moved everything back to the top level. 2015-04-29 11:02:38 -04:00
Pietro Gagliardi ec7f461af1 Merged back the basic controls on Mac OS X. 2015-04-29 10:28:17 -04:00
Pietro Gagliardi 4c280ca42c Removed or moved a bunch of stale files from the old source. All that's left now is to re-add the main controls and recreate the test program. 2015-04-29 10:20:25 -04:00
Pietro Gagliardi 9f59c0059c Migrated darwin/tab.m. Now to test... 2015-04-29 10:06:39 -04:00
Pietro Gagliardi f45e57494b Migrated darwin/newcontrol.m. 2015-04-29 09:38:20 -04:00
Pietro Gagliardi 855bca9b0c Started the stub menu code. 2015-04-28 14:17:28 -04:00
Pietro Gagliardi bf401201f9 Removed a whole bunch of files from the old source tree. 2015-04-28 13:51:13 -04:00
Pietro Gagliardi 9ef8019159 Quick OS X menu fixup. 2015-04-21 18:24:48 -04:00
Pietro Gagliardi 2f1a806a31 More TODOs. 2015-04-21 18:10:48 -04:00
Pietro Gagliardi de3c1cc0ea Implemented the standard application menu on the Mac OS X backend. 2015-04-21 18:09:12 -04:00
Pietro Gagliardi e26257006f Converted the OS X menu code to the changes in the past few commits and made a few other small changes. 2015-04-21 00:46:30 -04:00
Pietro Gagliardi b258e1fc82 Began implementing menus on Mac OS X. 2015-04-20 22:34:31 -04:00
Pietro Gagliardi 21a29a5468 More destruction rules following code. 2015-04-19 22:59:06 -04:00
Pietro Gagliardi 24469a6e7b Added code to check that a control is not destroyed while it has a parent. This isn't enough for uiStack, though... 2015-04-19 22:53:09 -04:00
Pietro Gagliardi 8534261f35 FINALLY implemented uiTabDeletePage() on Mac OS X. 2015-04-19 11:53:31 -04:00
Pietro Gagliardi c99e8d4af4 Added uiTab page tracking to the Mac OS X backend; necessary for tabDeletePage(). Fixed some small NULL pointer errors in some other files too. 2015-04-19 11:41:23 -04:00
Pietro Gagliardi 5ceda42d74 More OS X lifetime stuff. 2015-04-18 23:17:13 -04:00
Pietro Gagliardi 6436737720 Removed the now-obsolete old method of freeing OS X controls. 2015-04-17 18:56:17 -04:00
Pietro Gagliardi 47368bdfe9 Fixed some errors in the OS X build. IT WORKS! AND IS MUCH CLEANER NOW TOO!!!! 2015-04-17 18:54:17 -04:00
Pietro Gagliardi 7b0004cfff Migrated darwin/tab.m. Now to test... 2015-04-17 18:45:17 -04:00
Pietro Gagliardi bac2ce130e Migrated darwin/entry.m and darwin/label.m; fixed more errors in darwin/button.m and darwin/checkbox.m (hopefully for good!). 2015-04-17 18:40:12 -04:00
Pietro Gagliardi 44dfc7d721 Fixed some errors in darwin/button.m and darwin/checkbox.m. 2015-04-17 18:33:13 -04:00
Pietro Gagliardi b28c020bdd Migrated darwin/checkbox.m and fixed some things in darwin/button.m. 2015-04-17 18:32:02 -04:00
Pietro Gagliardi 2fa8bfd95b Migrated darwin/button.m. Yeah, this will do. 2015-04-17 18:20:14 -04:00
Pietro Gagliardi 3f2a0f8dfa Laid the foundation for the rewritten Mac OS X controls. 2015-04-17 18:11:03 -04:00
Pietro Gagliardi cb05779d0a Rewrote the Mac OS X uiParent. 2015-04-17 16:42:18 -04:00
Pietro Gagliardi 81f475000f Migrated darwin/parent.m to the recent changes. 2015-04-17 15:05:32 -04:00
Pietro Gagliardi 9f0729de1c Changed uiParentSetChild() to uiParentSetMainControl(). Backend changes incoming. 2015-04-17 13:43:01 -04:00