Commit Graph

665 Commits

Author SHA1 Message Date
Pietro Gagliardi bcc17a4e6d Attempted to write the font enumeration code for OS X. It does not work yet (memory management is borked and duplicate removal does not work, period). 2015-12-22 21:48:26 -05:00
Pietro Gagliardi 33d4217450 Fixed rpath shenanigans on OS X. 2015-12-19 16:46:04 -05:00
Pietro Gagliardi c095d80098 Implemented mouse tracking on OS X. 2015-12-19 16:35:18 -05:00
Pietro Gagliardi 35f2cc55da Fixed compiler errors. Now to implement mouse tracking. 2015-12-19 16:15:50 -05:00
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
Pietro Gagliardi b91fe0c2ac Some more makefile fixups. 2015-04-16 20:52:47 -04:00
Pietro Gagliardi a76309995b Fixed the OS X build, including warnings. It works. I'm still a bit unhappy about the way these backends are turning out... 2015-04-16 15:08:49 -04:00
Pietro Gagliardi 07c484c0af Fixed Makefiles for OS X building. 2015-04-16 14:59:17 -04:00
Pietro Gagliardi 863b8aa9c6 Migrated darwin/tab.m and darwin/window.m. Now to test. 2015-04-16 14:50:05 -04:00
Pietro Gagliardi 6caebe05d9 Migrated darwin/label.m; fixed up some of the other files. 2015-04-16 14:41:24 -04:00
Pietro Gagliardi 7ec19d56a8 Migrated darwin/checkbox.m. 2015-04-16 13:51:46 -04:00
Pietro Gagliardi 63dcd776ca Migrated darwin/button.m. 2015-04-16 13:19:43 -04:00
Pietro Gagliardi b04ef6d93f Began Darwin backend migration. 2015-04-16 13:04:46 -04:00
Pietro Gagliardi 17b7852fde Added the Mac OS X build rules. 2015-04-15 19:19:52 -04:00
Pietro Gagliardi d4fb903c07 Moved the uipriv_*.h files to the respective folders. The ui_*.h files stay up here; they'll be moved to IDLs later. 2015-04-15 18:51:04 -04:00
Pietro Gagliardi e69c0c93eb Split all OS backends into their own folders. 2015-04-15 18:49:45 -04:00