Andy Williams
ec58b84e3e
elm_code editor: fix crash backspacing last line
...
fill an empty line if we're deleting the last line
2015-03-08 12:07:29 +01:00
Andy Williams
6457da6482
elm_code edit: split content on newline.
...
Tokens also need to be split so this is text only for now
2015-03-08 11:52:12 +01:00
Andy Williams
7f787e8cae
elm_code widget: backspace or delete merges lines
...
This is text only for now but serves as editor foundation.
2015-03-08 11:33:07 +01:00
Andy Williams
e951c13e91
elm_code line: move freeing to the line file
2015-03-08 11:15:31 +01:00
Andy Williams
ed521af168
elm_code line: unsigned int for length
2015-03-08 11:14:02 +01:00
Andy Williams
f96c0345ff
elm_code edit: support backspace and delete.
...
don't propogate backspace as other widgets use it to navigate
adjust tokens left when we remove content and remove if 0 width token.
2015-03-08 09:44:26 +01:00
Andy Williams
4e14c1a069
elm_code unicode: update when editing
...
issues here with inserting unicode which I need to get to
2015-03-07 22:35:59 +01:00
Andy Williams
a2026576a2
Add initial unicode support for elm_code
...
Note the number of utf8 characters when we load the data.
Make sure the widget is referencing unicode_length
for all our metrics.
2015-03-07 20:48:02 +01:00
Andy Williams
2e5d0e7e02
elm_code editor: adjust tokens when we insert text
2015-02-28 22:50:18 +00:00
Andy Williams
9e184f6270
elm_code demo: Show multiple widgets for one code.
...
Illustrates that we can display a single elm_code in many widgets
2015-02-27 15:33:06 +00:00
Andy Williams
8517f47124
Merge branch 'master' into devs/ajwillia-ms/elm_code
2015-02-27 15:13:06 +00:00
Andy Williams
ec9c327ce1
editor: update to latest elm_code and show whitespace
2015-02-28 16:28:22 +00:00
Andy Williams
3800160732
Merge branch 'master' into elm_code
...
Conflicts:
elm_code/src/lib/elm_code_diff_widget.c
2015-02-28 15:31:57 +00:00
Andy Williams
dec03ca188
elm_code widget: add show_whitespace option
...
display items for space, tab and newline if requested
2015-02-28 14:59:42 +00:00
Andy Williams
c4f97f2f3e
elm_code: support line insertion
...
in our widget call a line insertion on enter pressed
2015-02-28 14:20:32 +00:00
Andy Williams
f4a760f4a5
elm_code: require an elm_code for each widget
...
In our finalizer we ensure that an elm_code is set.
No longer allow code_set to be called after construction.
2015-02-28 13:22:38 +00:00
Andy Williams
20c108ea32
elm_code tests: fix test path
2015-02-28 13:14:18 +00:00
Andy Williams
df310e14f4
elm_code: Fix finalized check macro
2015-02-27 15:07:38 +00:00
Andy Williams
a7adf4f1f6
elm_code edit: Support insert of any single char.
...
broadens from alphanumeric to include punctionation
and various symbols.
2015-02-26 23:56:10 +00:00
Andy Williams
bc1cfc7b87
elm_code parse: Add standard parsers starting with diff.
...
Allow code instances to have provided parsers added easily.
These can be chained to have multiple passes.
2015-02-26 23:19:09 +00:00
Andy Williams
a79c01f1da
merge changes from master
2015-02-26 13:56:50 +00:00
Andy Williams
b89e88accc
elm_code: Move parser callbacks to private.
...
Don't expose the internal callback mechanics, just the addition of parsers
2015-02-26 13:54:46 +00:00
Andy Williams
627adf8d2a
syntax: Actually use the elm_code parser api.
...
Improve the API to allow passing of user data to the calls.
Yes, I forgot about this, it works well so remove the STYLE_SET callback
2015-02-24 00:32:40 +00:00
Andy Williams
67eb529aa3
elm_code: Add missing status icons from new states
2015-02-24 00:26:58 +00:00
Andy Williams
ca9b64e3c8
elm_code: display a line-width marker if requested
2015-02-23 21:52:49 +00:00
Andy Williams
b08274d8b1
Merge branch master
...
conflicts in elm_code_widget.c resolved
2015-02-22 23:38:54 +00:00
Andy Williams
e329755283
elm_code: Fill the widget and gutter to the end
...
This helps with refreshing too so we blank removed lines
2015-02-22 22:13:33 +00:00
Andy Williams
d9a94200cc
elm_code: don't run resize code more than needed
...
Our cells are now always the size of the widget so
we can avoid the safety checks...
2015-02-22 21:50:34 +00:00
Andy Williams
c3e0883808
elm_code: Support text insertion for simple edits.
...
Hook into the widget for elm_code_test and edi editors.
Only alphanumeric and space, but it's a start.
2015-02-22 20:07:08 +00:00
Andy Williams
cb83e9e912
elm_code: Support multi-line tokens
...
Adding a new token to each line it covers.
Each token references the end line so newline behaviour can be set
2015-02-21 18:24:17 +00:00
Andy Williams
685abd7054
syntax: Update clang to output elm_code tokens
...
Addition of a refresh line command to say we're done.
We no longer need an active window for highlighting
as it's so much faster!
2015-02-21 17:30:17 +00:00
Andy Williams
2b64f2fd1b
Merge branch 'master' into elm_code
...
Conflicts:
elm_code/src/lib/elm_code_widget.c
elm_code/src/lib/elm_code_widget.eo.c
elm_code/src/lib/elm_code_widget.eo.h
2015-02-19 22:39:11 +00:00
Andy Williams
d59ce760ca
eo: remove generated files from git
2015-02-19 22:35:01 +00:00
Andy Williams
4e1af4b488
elm_code: Update FIXME to be realisic - the textgrid size_set does not append
2015-02-19 21:52:41 +00:00
Andy Williams
5d0224efa5
elm_code: get / set the cursor position
...
When the cursor is updated make sure we have scrolled
so it's visible. Also adjust focus next points too.
2015-02-19 21:16:18 +00:00
Andy Williams
9dea8c488d
elm_code: Actually use it as our main editor window!
...
Need to hook in the clang highlighting and undo stack to the elm_code_widget
2015-02-19 00:22:07 +00:00
Andy Williams
384a12282e
Add a temporary fix for some scroll/append/refresh issue with layout
2015-02-17 23:56:20 +00:00
Andy Williams
f9709f915c
An update to get closer to make check passing for windows.
...
Thanks (and credit) to Vincent Torri again
2015-02-15 20:35:41 +00:00
Andy Williams
9a0f269e92
elm_code: Tidying our callbacks and line manipulation.
...
Now the line_done callback allows styling to be set during the load process.
2015-02-14 23:14:06 +00:00
Andy Williams
4f49e230bd
elm_code: focus: block focus leaving text area when editable.
...
As well as setting when we should not have focus leave us a theme has been added.
This allows us to extend from elm_entry which is better suited to us.
2015-02-14 18:49:51 +00:00
Andy Williams
a1d9eae33c
Improving focus control a little
2015-02-11 22:01:37 +00:00
Andy Williams
aa741e4898
Fixing some warnings on Windows.
...
Thanks, Vincent Torri
2015-02-11 21:25:09 +00:00
Andy Williams
32e73da189
Use public types as far as possible
2015-02-11 19:13:48 +00:00
Andy Williams
486a50986c
elm_code: Update demo to split various functions. Adding more pages as use cases emerge
2015-02-10 23:03:18 +00:00
Andy Williams
2c3c4f504d
elm_code: Tidy up some unused code and fix up some focus management
2015-02-10 23:02:45 +00:00
Andy Williams
9f6f9a52ff
Fix a few warnings and possible build issues
2015-02-08 00:55:51 +00:00
Andy Williams
d8bdb6b892
Finally fix make distcheck - clean up Makefiles properly
2015-02-07 16:05:42 +00:00
Andy Williams
e146890b40
Fix issues with distcheck.
...
Only remaining is a permissions problem with skeleton - will be fixed soon.
2015-02-06 23:45:50 +00:00
Andy Williams
f83c43df0b
elm_code: Bring in line numbers and a left gutter
...
This styling makes it easier to see that symbols are not part of the text
but also makes line numbers part of the widget and they can be easily
switched on or off.
2015-02-03 13:59:50 +00:00
Andy Williams
fb8a4351b7
Fix the tests to work with widget improvements
2015-02-03 13:55:20 +00:00
Andy Williams
dd47f60ed5
Correctly lookup icon paths - @fix T2044.
...
Set up elm with the appropriate compile option variables.
2015-02-02 23:52:04 +00:00
Andy Williams
c22f0d2a0a
elm_code: Update style and alignment of gutter
2015-01-29 14:05:20 +00:00
Andy Williams
ff72fa0651
elm_code: And complete the line number render first case.
...
Next some styling would indeed be nice...
2015-01-29 00:50:07 +00:00
Andy Williams
4486e7244b
elm_code: initial work on line numbers
2015-01-29 00:36:28 +00:00
Andy Williams
cc495a2131
elm_code: Fix click calculations.
...
We must take into account our scroll position and also where we are positioned
within the screen layout
2015-01-28 22:38:49 +00:00
Andy Williams
545ecc5182
Add proper gravity control when lines are being added to the widget.
...
Most useful will be (0.0, 1.0) which will cause the display to act like 'tail'.
2015-01-28 14:16:46 +00:00
Andy Williams
e7be4523b4
Merge branch 'master' into elm_code
...
Conflicts:
elm_code/lib/elm_code_widget.c
2015-01-28 00:43:57 +00:00
Andy Williams
876faa4eb5
elm_code: update scroller so content fills space.
...
We want to extend backgrounds under scrollbars but only scroll if it's too big.
2015-01-28 00:39:56 +00:00
Andy Williams
4b0350c205
elm_code: When appending lines ignore widget size now we're scrolling
2015-01-28 00:20:58 +00:00
Andy Williams
fc43214208
elm_code: Update resizing to reflect only the space that's required
2015-01-27 22:13:59 +00:00
Andy Williams
ad0d199f36
Allow up/down/left/right to participate in focus control.
...
When we cannot move within the cursor availability then note it
the callback from elm will see if the event should be propagated so we
report the veto when we're contained or allow propagation when we overrun
2015-01-27 17:02:45 +00:00
Stephen Houston
78790f8fd3
Elm_Code: Keep up with min size so scroller works properly.
2015-01-27 10:43:32 -06:00
Andy Williams
45a6b3880b
And document the wiget API
2015-01-26 23:09:22 +00:00
Andy Williams
c91fb02a5a
Bind up/down/left/right to cursor control.
...
Add a veto callback that blocks the up/down hitting the focus manager. This needs to be improved so once we hit the top / bottom it will pass on
2015-01-26 19:46:30 +00:00
Andy Williams
d9663a6b3d
Merge in key_down fixes from branch 'devs/ajwillia-ms/elm_code'
2015-01-26 19:06:27 +00:00
Andy Williams
bc69b360bc
Refactor eo widget2 to widget - update in edi too
2015-01-26 19:05:34 +00:00
Stephen Houston
0a279a34df
Elm_Code: For box to get key down, it needs to have a child receiving key down.
2015-01-26 10:28:04 -06:00
Andy Williams
ebcbde4882
Port everything to use new widget API. Remove old widget API
2015-01-26 14:00:37 +00:00
Andy Williams
6e57210c3a
Manipulate the position of the cursor.
...
When clicking in edit mode just change the position of it to where was clicked.
Known issue that this does not work with the keyboard
2015-01-25 23:15:37 +00:00
Andy Williams
3c9e554b7b
elm_code: Add focus support for the elm_code widget.
...
Hook into the internal elementary API to be part of the focus chain
2015-01-25 17:18:21 +00:00
Andy Williams
29d31ad9f1
Complete port of elm_code widget to eo as widget2
2015-01-24 22:07:00 +00:00
Andy Williams
eec17b5904
Fix eo and regen to generate the right code based on okra's changes.
...
We need to inherit from Elm_Box and not get in the way of smart resizing...
2015-01-24 08:26:09 +00:00
Stephen Houston
82e57792ca
Elm_Code_Widget2: Inherit from box instead of layout since a layout is not provided.
2015-01-23 20:35:14 -06:00
Andy Williams
aeadf18b06
Merge branch 'master' into elm_code
2015-01-23 23:42:07 +00:00
Andy Williams
1bd963c084
install our test diff for elm_code_test binaries
2015-01-23 23:41:53 +00:00
Andy Williams
49512b1d31
Experimental eo commit - structure in place and it's resizing but won't render
2015-01-23 22:55:13 +00:00
Andy Williams
0c4ce5afd7
Merge in master
2015-01-17 22:08:16 +00:00
Andy Williams
a7cf4ffdbf
Add a click handler for lines in a widget
2015-01-17 19:57:15 +00:00
Andy Williams
8a9c645353
Tidying some more headers to try and get windows builds working
2015-01-10 17:55:04 +00:00
Andy Williams
d7a9c351f4
Allow up/down/left/right to participate in focus control.
...
When we cannot move within the cursor availability then note it
the callback from elm will see if the event should be propagated so we
report the veto when we're contained or allow propagation when we overrun
2015-01-27 14:34:11 +00:00
Andy Williams
e179b349bd
Disable NLS by default when cross compiling, remove broken need for libintl
2015-01-04 14:07:35 +00:00
Andy Williams
d11e94f0fe
Elm_Code now compiling on Windows, thanks to Vincent Torri for the patch.
...
Next to tackle some non-standard EDI code to complete the compilation
2015-01-04 12:00:40 +00:00
Andy Williams
74a1333620
Update various headers to use Elm_Code to load all our public headers and fix a few build glitches
2014-12-24 18:16:38 +00:00
Andy Williams
344e2e8eca
Remove circular include of the elm_code_file.h header
2014-12-24 18:06:51 +00:00
Andy Williams
ad3d545415
Fix up headers and tests to remove the exposure of some private methods.
...
Add some documentation whilst we're there too
2014-12-05 09:39:40 -06:00
Andy Williams
13064e06c6
Add a cursor to the view.
...
Create a backing data structure to start tracking more useful widget information
2014-12-05 09:20:11 -06:00
Andy Williams
688a89fc75
Merging in refactoring of elm_code file lookups and edi mime lookups.
...
Elm_Code file no longer required for elm_code to function (in memory is created automatically).
2014-11-28 23:53:23 +00:00
Andy Williams
888e4217ec
Use an in-memory file for new elm_codes by default.
...
This is overridden as before by calling elm_code_file_open which will free the previously set file on that elm_code instance
2014-11-28 08:55:42 +00:00
Andy Williams
70ec5e065d
Heading to a working windows build.
...
Copy fixes into Skeleton file too so that it creates libraries that work in the same way
2014-11-25 23:07:50 +00:00
Andy Williams
c7a238894a
Render all filename headers in a diff widget
2014-11-23 00:19:36 +00:00
Andy Williams
724c9a5a66
Fix warning
2014-11-22 22:44:37 +00:00
Andy Williams
b4a64ccc40
Add a simple diff widget based on an incoming diff file.
...
Load that into edi if we load a diff or patch file
2014-11-22 22:36:57 +00:00
Andy Williams
5bd7cc9bbc
Add an option to change the font size of our widget
...
demonstrate in the test and use it to make the logs more readable in edi
2014-11-22 19:14:53 +00:00
Andy Williams
e3610e1602
Fix a test missed in move to mem-mapping
2014-11-19 23:20:23 +00:00
Andy Williams
65b67ec898
Actually use the eina_file memory mapping
...
Any appended or modified lines need to be stored seperately.
Always check for modified content before using the memory map from the
backing file.
2014-11-19 22:39:00 +00:00
Andy Williams
aa5b70972c
Fix minor issues I saw in passing
2014-11-19 22:37:00 +00:00
Andy Williams
b5288b4223
Fix a memory corruption issue on some systems
2014-11-19 22:35:01 +00:00
Andy Williams
ad14b51251
Fix render test and an end of line corner case
2014-11-18 23:46:24 +00:00
Andy Williams
147a7ddd39
Add some text mode icons to markup the lines for now
2014-11-18 22:48:37 +00:00
Andy Williams
62fd0bb3f7
Add tests PASSED and FAILED to elm_code statuses
...
and the widget rendering.
Use this in EDI to add a test summarising panel.
Tests are executed in verbose mode so we can list
all the tests that have been run - can summarise
later if we wish...
2014-11-18 21:11:10 +00:00
Andy Williams
2299130410
Fix crash when appending a line off and the body
...
is already larger than the viewport
2014-11-18 20:56:47 +00:00
Andy Williams
649c98a53b
Add parse hooks for lines and files within elm_code.
...
This required changing the load order so file opens would read the elm_code->parsers setup. This makes for a better setup anyhow
2014-11-16 23:52:41 +00:00
Andy Williams
dc2e25fbb6
Refactor the widget token parsing so we can put it under test. Add simple test that demonstrates tokens split by space.
2014-11-13 23:26:30 +00:00
Andy Williams
d568992493
A little more markup to the diff example with character add/rem/change highlighting
2014-11-13 21:51:23 +00:00
Andy Williams
f7e0ad9dd8
Add a simple token system to allow us to render some text styles
2014-11-13 21:34:47 +00:00
Andy Williams
269409f5cd
Add a file load callback also - respect that with a widget refresh when called
2014-11-12 22:59:05 +00:00
Andy Williams
6465de9ca6
Fix compilation of tests
2014-11-12 14:05:56 +00:00
Andy Williams
0e901e5352
Fix the types of Eo Events - addresses lots of compiler warnings
2014-11-09 21:53:30 +00:00
Andy Williams
1a2f4d1ad4
Fixing some warnings. Not ideal handling of the Eo_Event_Description but it's less warn-tastic
2014-11-09 18:07:03 +00:00
Andy Williams
a3e6ec6876
Add some simple version control status for lines too.
...
Add a simple display of how that could work to elm_code_tesst
2014-11-09 14:44:35 +00:00
Andy Williams
2796024005
Take line coloring to the end of the line
2014-11-09 00:47:00 +00:00
Andy Williams
d110515fb1
Passing Eo events from Elm_Code to the Evas_Object when the backend data changes. Track a list of all widgets connected to the Elm_Code so we can signal them all. Add API to change status of a line which will refresh the widget too.
2014-11-06 23:43:56 +00:00
Andy Williams
b1d1e370ec
Add a simple elm_code_test binary that loads the widget and inserts some demo text
2014-11-05 13:55:37 +00:00
Andy Williams
1c314d9312
Fix a crash when resizing if the file is longer than the viewport
2014-11-05 13:36:54 +00:00
Andy Williams
87d360b43f
Adding some initial concept of status flags for a line and default enum to start working on color pallette in our widget. Load enough colors to provide these statuses and hook into the EDI log panel implementation
2014-11-05 00:01:28 +00:00
Andy Williams
80373debf7
Add an initial stab at an elm_code widget. It currently does not refresh at any time other than load or resize, so is not respecting content updates, but it's a start.
...
Use it in place of the list of elm_label objects that were rendered in the log panel. Not colour highlighted yet, but one thing at a time.
2014-11-04 22:21:49 +00:00
Andy Williams
7ed960fc52
Allow appending of lines to an Elm_Code_File, allow Elm_Code_File objects to be created empty without reading from a filesystem source
2014-11-04 21:05:29 +00:00
Andy Williams
a767095339
Add basic structure for elm_code object - namespacing the elm_code_file properly to keep it clean
2014-10-26 22:47:27 +00:00
Andy Williams
ce501b64c2
Add some documentation grouping
2014-10-26 22:08:52 +00:00
Andy Williams
9fcb769ba3
Update tests to use the proper api check
2014-10-21 22:28:12 +01:00
Andy Williams
4584abf84c
warning--
2014-10-21 22:27:10 +01:00
Andy Williams
3629995847
Load the content and verify from our test files.
...
Includes an eina_file_map_lines workaround for blank lines
2014-10-19 22:33:49 +01:00
Andy Williams
15bc74b80a
Load lines sequentially and insert to a structure for reference
2014-10-19 22:29:44 +01:00
Andy Williams
6846385d44
A pretty slim test of file loading and initial path apis
2014-10-17 23:36:07 +01:00
Andy Williams
997b338270
Base addition of elm_code area within the edi codebase, including an empty test to verify it's working
2014-10-17 21:36:03 +01:00