emersion
560cca5bc9
Adds uiProgressBar(Set)Indeterminate for unix
2016-06-15 21:51:08 +02:00
emersion
e07a7b3d05
Adds uiProgressBarValue() in unix
2016-06-15 18:51:12 +02:00
Pietro Gagliardi
ac1a515820
Merge pull request #141 from ProtonMail/ui-form-delete
...
Adds uiFormDelete()
2016-06-15 12:00:38 -04:00
emersion
52bd3b2c35
Adds uiFormDelete()
2016-06-14 22:41:37 +02:00
Pietro Gagliardi
6e5cf97623
Tied uiForm label visibility on GTK+ to the visibility of the control. This is the only visibility change needed on GTK+, fortunately.
2016-06-14 11:31:10 -04:00
Pietro Gagliardi
75a8ee9bf9
Removed intmax_t from everything else EXCEPT the Windows code. Now it's time for THAT...
2016-06-13 21:37:50 -04:00
Pietro Gagliardi
864c6c2511
Finished stripping ui.h of intmax.
2016-06-13 21:20:20 -04:00
Pietro Gagliardi
155299cdb9
More intmax_t removal.
2016-06-13 21:11:59 -04:00
Pietro Gagliardi
440635447d
More intmax_t removal.
2016-06-13 21:05:40 -04:00
Pietro Gagliardi
8d48d42201
More intmax_t elminiation.
2016-06-13 20:55:50 -04:00
Pietro Gagliardi
b26354d1e7
Started replacement of intmax_t and uintmax_t with int.
2016-06-13 20:46:11 -04:00
Pietro Gagliardi
41ec54cb47
Started a new controlgallery. Fixed some glitches in OS X uiForm.
2016-06-12 19:08:08 -04:00
Pietro Gagliardi
4b149ddfef
Implemented uiGrid on GTK+.
2016-06-09 18:57:58 -04:00
Pietro Gagliardi
4b2858b53a
Implemented uiForm on GTK+.
2016-06-08 18:19:41 -04:00
Pietro Gagliardi
3e1258cc62
Implemented the new radio button stuff on OS X.
2016-06-06 20:12:17 -04:00
Pietro Gagliardi
5accda32e5
Added new uiRadioButtons functions and implemented them on GTK+. More TODOs.
2016-06-06 18:56:58 -04:00
Pietro Gagliardi
3d5d1408c7
Implemented uiPasswordEntry and uiSearchEntry on GTK+.
2016-06-05 20:54:16 -04:00
Pietro Gagliardi
5c01a8dec3
Re-added the Unix stuff.
2016-06-03 21:14:55 -04:00
Pietro Gagliardi
1903115bbd
Pushed all the build files elsewhere. I'm rewriting the CMakeLists files from scratch.
2016-06-03 00:29:31 -04:00
Pietro Gagliardi
e4a66b786e
Fixed static builds, added GTK+ builds, and cleaned out things in general for cmake.
2016-06-01 20:21:10 -04:00
Pietro Gagliardi
f2e8dab465
Merge pull request #69 from pcwalton/static
...
Add support for static linking.
2016-05-29 04:50:48 -04:00
Pietro Gagliardi
6e94671782
More TODO resolution and LONGTERM relegation.
2016-05-28 21:17:54 -04:00
Patrick Walton
5f1e8fa601
Add support for static linking.
...
Use `make STATIC=1` to build a static library.
Some language ecosystems, like those of Rust, have a convention of
static linking in order to make binaries easier to distribute. In those
environments, this feature helps libui fit in more easily.
In order to prevent internal symbols from linking, we first create an
intermediate object file with `ld -r` and strip private symbols from it
before using `ar` to create the library.
2016-05-28 14:46:02 -07:00
Pietro Gagliardi
0d6dac5c5a
Migrated from GTK+ 3.4 to 3.10 and from OS X 10.7 to 10.8.
2016-05-28 13:06:16 -04:00
mogucpp
01e126f9cc
fix header name
2016-05-26 09:17:34 +08:00
Pietro Gagliardi
5272e749c0
Fixed grapheme stuff on GTK+.
2016-05-25 15:07:32 -04:00
Pietro Gagliardi
ac652f0690
Did most of the work for grapheme cluster boundary based text layout characters on GTK+.
2016-05-25 01:52:53 -04:00
Pietro Gagliardi
ff1971d8d6
More longterming.
2016-05-24 23:13:44 -04:00
Pietro Gagliardi
8bf24cb791
Implemented uiMainStep() on GTK+.
2016-05-24 22:29:33 -04:00
Pietro Gagliardi
e8cedf502f
Split uiCombobox on GTK+.
2016-05-24 01:35:05 -04:00
Pietro Gagliardi
e3bcf31764
More TODO resolution.
2016-05-23 00:41:56 -04:00
Pietro Gagliardi
0e5e37f98b
Fixed multilne entry changed events on GTK+.
2016-05-22 23:14:33 -04:00
Pietro Gagliardi
4ab0d9c1f6
More TODO resolution.
2016-05-22 22:57:18 -04:00
Pietro Gagliardi
a99a81f584
Answered matrix scaling stuff. https://www.willamette.edu/~gorr/classes/GeneralGraphics/Transforms/transforms2d.htm#Combining
2016-05-22 22:52:29 -04:00
Pietro Gagliardi
b66be0bf2d
Stale TODO removal. Expanded page 9 to also show the positions of the second line.
2016-05-22 20:49:16 -04:00
Pietro Gagliardi
9b4a13e9b3
Some more TODO resolution in the GTK+ backend.
2016-05-22 20:35:40 -04:00
Pietro Gagliardi
61185072f7
More TODO -> LONGTERM migration. Also made it so uiSpinbox and uiSlider merely swap min and max if min is larger.
2016-05-22 20:11:52 -04:00
Pietro Gagliardi
ab0a9102b4
Added a user bug for calling SetParent() on a uiWindow.
2016-05-22 20:02:47 -04:00
Pietro Gagliardi
b957558ef4
Even more TODO resolution in uiDateTimePicker on GTK+.
2016-05-22 19:40:56 -04:00
Pietro Gagliardi
f0011d6227
Started resolving TODOs in the GTK+ backend, marking some LONGTERM. In particular, uiDateTimePicker no longer will be localized, as there doesn't seem to be a way to get that info out.
2016-05-22 19:17:42 -04:00
Pietro Gagliardi
07cd03452d
Implemented non-wrapping multiline entries in GTK+ and started implementing them in OS X.
2016-05-22 14:20:54 -04:00
Pietro Gagliardi
5a4b6aa6f0
Switched from using M_PI to a named constant uiPi.
2016-05-22 12:00:44 -04:00
Pietro Gagliardi
1c2acf59a3
Implemented uiControlDestroy() for uiRadioButtons on GTK+. Fixes #40 .
2016-05-21 22:42:55 -04:00
Pietro Gagliardi
5891b764cb
Forgot to take a reference on GtkWindows; this led to weird GObject warnings on the command line when closing a window. Update #40 .
2016-05-21 22:36:21 -04:00
Pietro Gagliardi
0ede964a3d
TODO updates.
2016-05-16 09:58:16 -04:00
Pietro Gagliardi
b47689090e
Implemented uiColorButton on GTK+.
2016-05-15 23:18:11 -04:00
Pietro Gagliardi
6a81921c1a
More TODOs.
2016-05-15 19:26:58 -04:00
Pietro Gagliardi
c82942a81b
More TODO stuff.
2016-05-15 19:15:00 -04:00
Pietro Gagliardi
6d2d977363
Cleaned up the debugging infrastructure on Windows (we stopped using the strsafe functions so there's no useful failure case anymore) and implemented the new one.
2016-05-13 22:05:02 -04:00
Pietro Gagliardi
0205f2e5ca
Got rid of complain() on GTK+.
2016-05-13 21:00:12 -04:00
Pietro Gagliardi
94587b660f
Some TODO resolution and stale TODO removal.
2016-05-13 17:54:10 -04:00
Pietro Gagliardi
02fbb5a559
A lot more drawing migration on Windows. With that done, though, we can finally do this...
2016-05-05 21:49:50 -04:00
Pietro Gagliardi
4e53551e06
Split unix/draw.c into a bunch of smaller files.
2016-05-05 18:23:54 -04:00
Pietro Gagliardi
eff0532760
Some TODO resolution/stale TODO elimination.
2016-05-05 17:58:26 -04:00
Pietro Gagliardi
faeae31acc
Cleaned up unix/box.c and made it not use struct child or ptrArray.
2016-05-05 14:04:07 -04:00
Pietro Gagliardi
f10c760b00
More TODOs.
2016-05-04 23:41:25 -04:00
Pietro Gagliardi
440e8fa47f
Integrated the GTK+ date/time picker. FINALLY!
2016-05-04 23:35:11 -04:00
Pietro Gagliardi
a11e939b34
Wrote the finishing touches on the dptwidget.c needed for the final date-time picker.
2016-05-04 23:28:46 -04:00
Pietro Gagliardi
4e11b6efe1
Fixed build errors. It works! (Except for radiobuttons now needing a destroy; that'll come later.) Next up... Windows. Yay...
2016-04-25 20:34:12 -04:00
Pietro Gagliardi
d65a263bb4
Whoops, forgot unix/area.c. Now let's try.
2016-04-25 20:19:57 -04:00
Pietro Gagliardi
3f16e28d1b
Finished the conversions. Let's hope it works!
2016-04-25 20:15:02 -04:00
Pietro Gagliardi
289ca0ed78
More conversion work, including getting rid of a few now-unnecessary function declarations.
2016-04-25 20:09:20 -04:00
Pietro Gagliardi
01912877ce
Converted the basic GTK+ controls. Now for the containers.
2016-04-25 20:00:25 -04:00
Pietro Gagliardi
85ee2e93dd
More ui_unix.h and unix/control.c work. NOW we're ready to migrate the controls.
2016-04-25 19:45:05 -04:00
Pietro Gagliardi
dda30cdb3c
Started the new uiControl infrastructure.
2016-04-24 19:22:21 -04:00
Pietro Gagliardi
bc0a1d43c9
Applied the new type system to the Windows backend and fixed some more C++ stupidity related to it.
2016-04-24 17:38:48 -04:00
Pietro Gagliardi
96e8f1f8ea
Did the rest of the object changes on GTK+.
2016-04-24 16:59:46 -04:00
Pietro Gagliardi
f60178798f
Removed common type code.
2016-04-24 15:08:48 -04:00
Pietro Gagliardi
7b0f930185
Removed all the type function declarations from all the controls. More TODOs.
2016-04-24 15:04:36 -04:00
Pietro Gagliardi
e6effa042d
Implemented the new fontbutton routines on GTK+.
2016-04-20 13:59:59 -04:00
Pietro Gagliardi
8493bc3c5d
Fixed the GTK+ SetColor() issues. It works!
2016-04-20 01:14:46 -04:00
Pietro Gagliardi
78772ca62d
Fixed most compiler errors and warnings.
2016-04-19 23:58:36 -04:00
Pietro Gagliardi
6b6d6861c1
Wrote the SetColor() for GTK+. Now to test.
2016-04-19 23:52:44 -04:00
Pietro Gagliardi
6fdbd8d68f
Implemented the chars-to-bytes algorithm on the GTK+ code. Now to finally add attributes to uiDrawTextLayout!
2016-04-19 14:57:15 -04:00
Pietro Gagliardi
c2d165af94
Implemented the uiDrawTextFont direct from system font-making functions on other platforms.
2016-04-19 11:23:05 -04:00
Pietro Gagliardi
ccfa3d41a3
More work on the initial font and showing styles. I have a feeling my current approach is a mistake.
2016-04-18 13:32:48 -04:00
Pietro Gagliardi
84fc5dafaa
More TODOs.
2016-04-18 10:22:36 -04:00
Pietro Gagliardi
23ec771c86
Removed uiFontDescriptor.SmallCaps; on Windows this has to be applied to layouts.
2016-04-15 14:23:16 -04:00
Pietro Gagliardi
0bc140cd46
Dropped uiDrawTextGravity. That has to do with vertical text, which we can both abstract into a higher level API and can't do yet because DirectWrite simply does not support vertical text on Windows 7 for reasons that escape logical thought.
2016-04-15 00:24:27 -04:00
Pietro Gagliardi
042b08f31c
Implemented uiFontButton on GTK+.
2016-04-14 15:55:04 -04:00
Pietro Gagliardi
7f2194c383
Typo fixes in the previous commit.
2016-01-24 21:50:10 -05:00
Pietro Gagliardi
ab0230b428
Added a function for scrolling uiAreas. Implemented on OS X; stubbed elsewhere.
2016-01-24 21:41:34 -05:00
Pietro Gagliardi
febb37700a
"Fixed" the FreeBSD build.
2016-01-22 13:08:36 -05:00
Pietro Gagliardi
b0621a6b1f
Implemented the new multiline text stuff on GTK+.
2016-01-16 15:59:34 -05:00
Pietro Gagliardi
9442ebd53a
More TODOs.
2016-01-13 15:59:45 -05:00
Pietro Gagliardi
6394446461
Fixed text rendring on GTK+.
2016-01-13 15:48:39 -05:00
Pietro Gagliardi
621d75695c
More (serious) TODOs.
2016-01-13 14:34:28 -05:00
Pietro Gagliardi
776be61c45
Implemented metrics on Pango.
2016-01-12 23:33:50 -05:00
Pietro Gagliardi
f9b6eba7df
Implemented the new font stuff on GTK+.
2016-01-12 16:59:13 -05:00
Pietro Gagliardi
ca514d94d1
Set up a proper, formal layout and attirbute system. No attributes right now, but initial font style is in. Implemented it on GTK+.
2016-01-07 18:37:43 -05:00
Pietro Gagliardi
6a15e23897
Set up saner handling of sonames at build time.
2016-01-05 11:51:36 -05:00
Florent Clairambault
e24c8f6440
Merge remote-tracking branch 'upstream/master'
2016-01-02 13:27:08 +01:00
Florent Clairambault
c204e47b72
Various fixes around makefiles
...
* $PREFIX is uppercase (I have no idea why I put it lowercase before).
* "install" rules is OS specific and moved to new OS specific files. So that they can be included last.
* "examples" rule defines the list of examples to execute.
* Travis launches the "test" rule.
2016-01-01 23:19:14 +01:00
Florent Clairambault
cfcbe9859f
Tiny warning fix.
...
Why not switch to -Werror by the way ?
2016-01-01 01:45:32 +01:00
Pietro Gagliardi
353afcd464
Added the Language field to the text styles list.
2015-12-24 22:31:32 -05:00
Pietro Gagliardi
6ef404c2dd
Implemented the basic uiDrawText() function on GTK+. It looks like I missed some PangoAttributes; I'll add those in next.
2015-12-24 19:48:57 -05:00
Pietro Gagliardi
5d47fcab5a
Implemented the font family enumerator on GTK+.
2015-12-22 19:17:27 -05:00
Pietro Gagliardi
2ce0c810f1
Added a test of mouse events in a scrolled uiArea. Removed some dead code from the GTK+ uiArea. Now to make the changes to the Windows and OS X backends!
2015-12-17 21:21:29 -05:00
Pietro Gagliardi
cc7dd186e5
Fixed runtime issues with uiArea on GTK+. It works!
2015-12-17 19:59:33 -05:00
Pietro Gagliardi
78b714c238
Oh neat, only one compiler error. Now to rewrite the tests.
2015-12-17 19:19:08 -05:00
Pietro Gagliardi
e167b08fdb
Finished reimplementing the GTK+ uiArea. Now to build. Then to rewrite the tests...
2015-12-17 19:16:30 -05:00
Pietro Gagliardi
8ea3b07aa8
Got rid of the clientWidth and clientHeight variables.
2015-12-17 17:37:58 -05:00
Pietro Gagliardi
473c6c92f0
FINALLY removed areaPrivate from uiArea on GTK+, using uiArea itself for everything. Standardized variable names on that front. Also implemented MouseCrossing() there.
2015-12-17 16:49:59 -05:00
Pietro Gagliardi
1957ff1418
More TODOs.
2015-12-17 16:31:56 -05:00
Pietro Gagliardi
ffe9a2db28
Got rid of the GtkScrollable code from GtkDrawingArea for uiArea. Woo! Now we just have to nuke all that from the Cocoa backend and we're good.
2015-12-17 14:48:58 -05:00
Pietro Gagliardi
4e256dfc95
Fixed some oversights in the GTK+ uiArea code.
2015-12-16 18:09:04 -05:00
Pietro Gagliardi
3f9862c472
OUCH. Fixed a MASSIVE bug in the GTK+ implementation of uiWindow: uiWindowSetChild() was DESTROYING the old child, not merely removing it! The other ports don't have this bug.
2015-12-12 15:30:56 -05:00
Pietro Gagliardi
acf3b3564e
Set up the new Unix build. Now to do the OS X build.
2015-12-11 18:37:15 -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
2705f93305
Added uiMultilineEntry, wrote it on GTK+, and wrote the uiQueueMain() test. It works on Unix.
2015-12-06 01:18:32 -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
3943c2c65e
Implemented the dialog changes on the GTK+ backend.
2015-11-28 11:02:58 -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
5e29d07d20
Moved all the table stuff out of the way. I need to decide what I'm going to do with it.
2015-11-16 10:52:19 -05:00
Pietro Gagliardi
5d26b9b059
Finished the uiTable test and fixed errors.
2015-10-19 10:52:36 -04:00
Pietro Gagliardi
056db88de0
More uiTable work. I'm not too happy anymore...
2015-10-18 18:55:06 -04:00
Pietro Gagliardi
4577cb79a1
Started the GTK+ implementation of uiTable and added uiTableSubscriptions. This is a mess already :D
2015-10-18 13:59:38 -04: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
1cadb85bd0
Added line dashing and implemented it on GTK+.
2015-10-16 10:09:41 -04:00
Pietro Gagliardi
6849b01f73
Switched coordinates to floating-point drawing space and implemented such on GTK+.
2015-10-14 08:49:06 -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
cc827919b8
Added uiDrawClip() and implemented it on GTK+.
2015-10-13 11:16:06 -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
818d954654
More transformation tests and work.
2015-10-12 09:08:50 -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
e51fd6e494
Implemented negative arcs on GTK+.
2015-10-11 21:18:39 -04:00
Pietro Gagliardi
b09cdb5137
Made 90° point toward y=+∞.
2015-10-11 20:24:06 -04:00
Pietro Gagliardi
0ae3ef918d
Implemented the matrix stuff on Windows. Also fixed the signature of uiDrawMatrixSkew().
2015-10-11 12:36:48 -04:00
Pietro Gagliardi
3d8f8f0756
Implemented a basic translation.
2015-10-11 11:42:07 -04:00
Pietro Gagliardi
87680a6470
Built the framework for matrices and transformations and implemented it on the GTK+ backend. Tests to come next.
2015-10-11 11:13:01 -04:00
Pietro Gagliardi
7fbabfd8ec
Fixed the GTK+ drawing code to draw arc initial line segments in the correct place.
2015-10-10 08:44:12 -04:00
Pietro Gagliardi
3cbc3f3c67
Made arc angles counterclockwise on the GTK+ backend and fixed the sun in the Direct2D geometries howto.
2015-10-09 23:13: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
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
843ea0d46c
Implemented uiComboboxSetSelected() on GTK+.
2015-10-09 13:54:34 -04:00
Pietro Gagliardi
5d19387811
Did scrolling for the uiArea test and uiArea itself on GTK+.
2015-10-09 10:09:55 -04:00
Pietro Gagliardi
752467b543
Fixed up the GTK+ uiArea a bit.
2015-10-09 03:43:29 -04:00
Pietro Gagliardi
ef04c18856
Merged the GTK+ uiArea implementation with its backend. Now we just have to move the test program.
2015-10-08 18:24:09 -04:00
Pietro Gagliardi
06f17aa4de
Implemented the new uiCombobox stuff on GTK+.
2015-10-08 14:55:18 -04:00
Pietro Gagliardi
54332b90fb
Finally merged out the redo folder.
2015-09-02 13:48:06 -04:00
Pietro Gagliardi
46b865a298
Begin the GTK+ backend migration.
2015-08-27 12:29:19 -04:00
Pietro Gagliardi
8213eac2d7
Moved everything up a directory level.
2015-08-27 12:05:11 -04:00
Pietro Gagliardi
d98ca5dfd4
Removed more files from the top level.
2015-08-27 11:59:59 -04:00
Pietro Gagliardi
7abf88d9ef
Finished reimplemented GTK+ uiTab.
2015-07-01 01:02:34 -04:00