Pietro Gagliardi
25afc9b13f
And finished writing events.c. Now to write the tests.
2019-05-17 22:40:29 -04:00
Pietro Gagliardi
56156f549b
Bah C99
2019-05-16 23:34:33 -04:00
Pietro Gagliardi
96c346c2dd
Added uiprivAlloc() and friends and implemented uiNewEvent().
2019-05-16 23:02:03 -04:00
Pietro Gagliardi
bd84da7179
More implementation of uiEvent. Now we'll need to deal with memory allocation.
2019-05-16 12:27:04 -04:00
Pietro Gagliardi
caa926feeb
Started implementing and deduplicating the error handling in events.c.
2019-05-15 23:11:21 -04:00
Pietro Gagliardi
55a7e3e56e
Started implementing events.
2019-05-15 22:40:06 -04:00
Pietro Gagliardi
101df7a469
Added uiEvent-specific programmer errors. Next up: actually implementing uiEvent.
2019-05-14 11:03:03 -04:00
Pietro Gagliardi
7c128e7bcd
Added internal errors and refined the error handling somewhat.
2019-05-13 21:30:18 -04:00
Pietro Gagliardi
45f69cf058
Renamed programmererror.c to errors.c so we can add internal errors (which used to be called implementation bugs).
2019-05-13 10:46:42 -04:00
Pietro Gagliardi
7022e6f268
More programmer error refinement.
2019-05-13 06:37:19 -04:00
Pietro Gagliardi
b3049b0a1e
Started reintegrating what used to be called user bugs; they're now called programmer errors. We'll create a much more systematic approach to them. Implemented on macOS.
2019-05-12 22:17:24 -04:00
Pietro Gagliardi
f97383f66c
Rearranged things so that uiInit() itself is in common/init.c and the OS-specific initialization code is its own standalone internal function. This'll make testing a bit easier, especially after the next few commits, and will allow me to test pre-initialization and cross-thread stuff a bit more easily.
2019-05-09 12:07:28 -04:00
Pietro Gagliardi
b8b3b3df39
Fixed the rest of the build errors and warnings. Woo! Now for the manifests.
2019-04-21 17:28:47 -04:00
Pietro Gagliardi
f7867f3427
ALMOST fixed the build on Windows with MSVC. (For the change to test/testing.h: Even in VS2019 inline isn't available in C, ugh. That function doesn't need to be inline anyway, so eh.)
2019-04-21 15:08:09 -04:00
Pietro Gagliardi
c6aa8c3324
Pruned windows/init.cpp to a minimal initialization that we can test things with, which includes adding a function to load err->Message with a formatted string.
...
Also added a better error for if InitCommonControlsEx() returns 0 without setting the last error; this usually means that v5 is loaded.
Fixes #451 .
Updates #337 .
2019-04-21 14:49:16 -04:00
Pietro Gagliardi
469484415d
Implemented uiInit() on Unix.
2019-04-21 12:24:19 -04:00
Pietro Gagliardi
484989e925
Implemented uiInit() on macOS. The tests work so far!
2019-04-20 21:38:26 -04:00
Pietro Gagliardi
74b1e2780d
Implemented the cross-platform bits of uiInit().
2019-04-19 12:32:13 -04:00
Pietro Gagliardi
992d8694a9
Let's start the remodel. Move almost everything out of the way.
2019-04-08 20:36:21 -04:00
Pietro Gagliardi
f6ef61cdee
And settled common/CMakeLists.txt (it also had nothing that needed to be moved).
2019-03-27 01:05:57 -04:00
Pietro Gagliardi
1b9250e41e
Removed include_directories hackery, as suggested by various people in freenode #mesonbuild.
2019-03-25 20:07:22 -04:00
Pietro Gagliardi
1deacb55aa
And massaged things into a buildable state. Woo. NOW things are starting to get annoying, but at least it's not so much *voodoo* anymore?
2019-03-23 16:18:13 -04:00
Pietro Gagliardi
253ce9a3cc
Decided to just use add_project_(link_)arguments() for now, and set up the macOS build for testing.
2019-03-23 15:42:42 -04:00
Pietro Gagliardi
419c584523
Merge pull request #379 from mischnic/attrstr-delete
...
Fix uiAttributedStringDelete
2018-08-09 05:16:52 -04:00
Pietro Gagliardi
f3882d6124
Cleaned up color access across platforms.
2018-06-24 14:22:05 -04:00
Pietro Gagliardi
acb40964f3
Deduplicated editable logic across platforms.
2018-06-24 11:41:19 -04:00
Pietro Gagliardi
4dbf1994a6
Deduplicated the default text column parameters across platforms.
2018-06-24 00:45:54 -04:00
Pietro Gagliardi
74ec21f4c7
Turned the direct method calls on uiTableModel into functions to make the call sites look a bit cleaner. More stuff will go into common/tablemodel.c...
2018-06-23 23:35:42 -04:00
Pietro Gagliardi
9a79eed2ac
Final cleanup, first part: renamed uiTableData to uiTableValue.
2018-06-23 20:19:30 -04:00
Pietro Gagliardi
2b428d50f6
And fixed build errors. Now I just need to rewrite the tester and try this out...
2018-06-03 23:06:44 -04:00
Pietro Gagliardi
54ca41afb6
Moved common/table.c out of the way for now; it's not relevant with the proposed colum changes and definite data changes.
2018-06-03 17:57:17 -04:00
Pietro Gagliardi
43b1a46669
Wrote the common table data functions.
2018-06-03 17:28:54 -04:00
Niklas Mischkulnig
773856fa90
Fix uiAttributedStringDelete
2018-05-31 17:49:44 +02:00
Pietro Gagliardi
7b570a4026
Merge branch 'master' into table
2018-05-05 09:15:08 -04:00
Pietro Gagliardi
55f2eba45b
Add wchar_t overloads to utf.h for C++ on Windows with non-MSVC compilers; I did not realize that was also a thing I needed to worry about!
...
Update #287
2018-04-30 07:46:38 -04:00
Pietro Gagliardi
ae2eea7975
Merge branch 'master' into table
...
Long-overdue sync.
2018-04-18 10:00:13 -04:00
Pietro Gagliardi
52dc39a553
Decided to keep attrstr.h for now; removed extern "C" hack from attrstr.hpp on Windows and moved it into attrstr.h. Let's merge back.
2018-04-18 00:54:24 -04:00
Pietro Gagliardi
4df47a6ee8
Decided what to do about uipriv.h including ui.h (uipriv_OS.h* wrecks that plan, so make a note of us not doing it). Now to just decide what to do about attrstr.h and then we can merge back.
2018-04-17 21:04:04 -04:00
Pietro Gagliardi
750f4214b7
Cleaned up private symbols (and in one case, explicit initialization) of symbols in all *.c files in common/. Now to decide what to do about whether uipriv.h should include ui.h and if attrstr.h should even stay, and then I can merge this back.
2018-04-16 02:31:24 -04:00
Pietro Gagliardi
b3df05eb8e
More TODOs. (This was originally added in a prior commit but I forgot to mention it; I wanted it to be LONGTERM but forgot about that the first time.)
2018-04-15 23:16:04 -04:00
Pietro Gagliardi
c3992cc647
uipriv-ized utf.c.
2018-04-15 23:08:57 -04:00
Pietro Gagliardi
8e2004cf67
struct graphemes -> uiprivGraphemes. Also deleted OLD_uipriv.h now that that one is settled.
2018-04-15 22:43:14 -04:00
Pietro Gagliardi
01d6422664
Added uipriv prefixes to the matrix functions.
2018-04-15 22:39:34 -04:00
Pietro Gagliardi
24a4b0997c
fromScancode() -> uiprivFromScancode().
2018-04-15 22:31:17 -04:00
Pietro Gagliardi
0dddf4a490
clickCounter -> uiprivClickCounter.
2018-04-15 22:26:51 -04:00
Pietro Gagliardi
f5be05f143
shouldQuit() -> uiprivShouldQuit().
2018-04-15 21:54:46 -04:00
Pietro Gagliardi
59835a9bae
Removed the declaration of newControl(): it was completely unused, as it was superceded by uiAllocControl() long ago.
2018-04-15 21:49:58 -04:00
Pietro Gagliardi
f93973d3cb
Migrated implbug() and userbug() to uipriv forms.
2018-04-15 21:46:08 -04:00
Pietro Gagliardi
72e8b9a198
Started FINALLY renaming uiAlloc(), uiNew(), uiRealloc(), and uiFree() into uipriv* forms. This handles the common folder.
2018-04-15 15:53:27 -04:00
Pietro Gagliardi
4a57b15d09
Renamed the common options variable to uiprivOptions.
2018-04-15 15:49:45 -04:00
Pietro Gagliardi
e0f800d5eb
Started cleaning up the common/ folder. Backed up the current uipriv.h.
2018-04-15 15:39:28 -04:00
Pietro Gagliardi
93f0eea140
Likewise codified uiprivStricmp(). Honestly this will probably do for the Windows code for now...
2018-03-17 23:22:17 -04:00
Pietro Gagliardi
d358e87583
Moved the old metrics attrstr code out of the way.
2018-03-17 21:00:11 -04:00
Pietro Gagliardi
a5bbc83359
Fixed build errors. Now to test.
2018-03-17 15:49:00 -04:00
Pietro Gagliardi
6ba2d3606d
Removed uiprivStrdup() (we'll just uiprivAlloc()+strcpy() instead) and fleshed out the drawtext example's text a bit more.
2018-03-10 22:51:39 -05:00
Pietro Gagliardi
4bb6a56c99
More warning fixes. Made private uiAttributeString functions const-correct to expose more potential issues later. Const-correctness and uiAttributeRetain() are going to be an issue...
2018-03-10 19:21:39 -05:00
Pietro Gagliardi
115a60c950
uiAttribute copies family names, so its internal copy doesn't need to be const. Fix this.
2018-03-10 19:13:20 -05:00
Pietro Gagliardi
9194ba29fe
And fixed build errors. Now I'm sure there are warnings that are real bugs, so let's handle those next.
2018-03-10 19:02:10 -05:00
Pietro Gagliardi
82d3de7c31
More compiler error fixes. Oops, I forgot to finish attrstr.m!
2018-03-08 23:27:04 -05:00
Pietro Gagliardi
e9a62461c2
Started fixing compile errors. I forgot I renamed uiDrawFontDescriptor to uiFontDescriptor!
2018-03-08 23:04:45 -05:00
Pietro Gagliardi
9661d14262
And fixed up loose ends preventing a build. Let's build!
2018-03-08 22:44:35 -05:00
Pietro Gagliardi
9c8f6849c3
Synced const-correctness in ui_attrstr.h to attrstr.c, propagated that to the necessary private functions, and added some references to testing.h.
2018-03-04 11:15:18 -05:00
Pietro Gagliardi
77c07075e3
Updated grapheme function names in attrsr.h and updated allocator function names in attrstr.c.
2018-03-04 10:46:00 -05:00
Pietro Gagliardi
f025783632
Migrated attrstr.c back like we just did to attrlist.c. RIP "graphemes()"
2018-03-03 22:02:18 -05:00
Pietro Gagliardi
766f3a0cb2
Moved the unit tests out of the way for now. We'll fill them in later.
2018-03-03 21:35:29 -05:00
Pietro Gagliardi
3337f06e2e
Oops.
2018-03-03 21:32:18 -05:00
Pietro Gagliardi
dcf6726239
More TODOs.
2018-03-03 21:29:45 -05:00
Pietro Gagliardi
2822dbcebc
Decided to keep the existing attrlist.c, but updated it to the new attribute API and uipriv naming convention. Also resolved some TODOs along the way and decided that when in attribute lists, uiAttributes will be refcounted.
2018-03-03 21:27:01 -05:00
Pietro Gagliardi
4179ff86c2
Added more test cases. Also more TODOs in testing_testing.c.
2018-03-03 17:01:40 -05:00
Pietro Gagliardi
6c29932efe
Added testingTDefer(). Now we can actually write the rest of these tests.
2018-03-03 16:24:10 -05:00
Pietro Gagliardi
70db51d23b
Added testingTFail() and simplified the implementation of the logging macros.
2018-03-03 14:22:34 -05:00
Pietro Gagliardi
b5570040b0
Added skipping and fatal to testing.h.
2018-03-03 14:08:17 -05:00
Pietro Gagliardi
d0db6f9594
Added early termination mechanics to the testing framework.
2018-03-01 20:25:36 -05:00
Pietro Gagliardi
8d92003426
Broke apart the testing implementation code into their own files.
2018-02-28 22:07:06 -05:00
Pietro Gagliardi
010e878286
Wrote more of the testing framework, wrote the first test, and fixed compiler errors in opentype.c.
2018-02-28 19:43:29 -05:00
Pietro Gagliardi
cf15dba2ef
Oops, missed a spot when cleaning up the previous commit. Fixed.
2018-02-28 01:22:16 -05:00
Pietro Gagliardi
5ab1266b5d
Finished the boilerplate for the uiOpenTypeFeatures test.
2018-02-28 01:21:10 -05:00
Pietro Gagliardi
70815d8d7b
Started writing a test suite for uiOpenTypeFeatures. So far it's just the test boilerplate.
2018-02-27 23:44:50 -05:00
Pietro Gagliardi
3f62cb5cee
Oops; forgot to update attrstr.h in the last commit. Also changed a TODO to a LONGTERM in opentype.c.
2018-02-25 20:40:23 -05:00
Pietro Gagliardi
dcaf69bc51
Added a single cross-platform implementation of uiOpenTypeFeatures.
2018-02-25 20:38:06 -05:00
Pietro Gagliardi
8b35d16144
More notes. Also fixed a typo (thanks Nicole from Jul).
2018-02-20 21:05:08 -05:00
Pietro Gagliardi
93bf0d403e
Wrote the new uiAttribute code in attribute.c.
2018-02-19 18:37:50 -05:00
Pietro Gagliardi
eeb7717d88
Moved old attributed-string stuff out of the way for now.
2018-02-19 01:52:38 -05:00
Pietro Gagliardi
ca5a5f1f72
More TODOs. I have to really think about this API and build a point-by-point test...
2017-11-04 20:47:09 -04:00
Pietro Gagliardi
180b6429ef
More documentation, const correctness, and TODO wrangling.
2017-06-19 22:00:46 -04:00
Pietro Gagliardi
5d7128781b
And const-corrected uiAttributedStringForEachAttribute().
2017-06-19 21:45:18 -04:00
Pietro Gagliardi
8e8cc12105
Added uiForEach for canonicalizing foreach function returns and used it everywhere.
2017-06-06 12:47:07 -04:00
Pietro Gagliardi
8c850a26b2
More TODOs.
2017-06-03 17:53:10 -04:00
Pietro Gagliardi
01df4631f6
And finished integrating the new attributed string stuff on OS X.
2017-05-30 15:24:31 -04:00
Pietro Gagliardi
e356f1c48a
Started reworking darwin/attrstr.m to be a lot more sane.
2017-05-30 13:06:58 -04:00
Pietro Gagliardi
02020e676a
Managed attribute spec memory properly.
2017-05-28 00:41:40 -04:00
Pietro Gagliardi
90962e18c4
And got rid of the remaining old stuff entirely.
2017-05-19 16:14:39 -04:00
Pietro Gagliardi
3e28887a24
Fixed the build.
2017-05-17 19:21:27 -04:00
Pietro Gagliardi
4f31a1331c
And omitted the common OpenType stuff from the build.
2017-05-17 16:18:28 -04:00
Pietro Gagliardi
58fff53f61
More TODOs...
2017-02-24 21:18:15 -05:00
Pietro Gagliardi
28b30367e2
Still more TODO resolution.
2017-02-24 18:19:34 -05:00
Pietro Gagliardi
cca4db5ce9
More TODO resolution and pointless TODO elimination.
2017-02-24 18:15:20 -05:00
Pietro Gagliardi
0df8346bff
Also removed uiAttributeLangauge for compatibility reasons too. Let's settle all the TODOs now.
2017-02-24 12:12:03 -05:00
Pietro Gagliardi
be56ec3626
Removed the vertical forms attribute. This is a compatiblity nightmare.
2017-02-24 01:23:47 -05:00
Pietro Gagliardi
d7a44a5168
Added uiAttribute handling code to the GTK+ backend. Not finished yet; not used yet.
2017-02-20 17:11:52 -05:00