Andy Williams
7ffa533392
Merge branch 'master' into elm_code
2015-03-25 20:52:14 +00:00
Andy Williams
7eede66db6
elm_code: Remove accidental dep on efl-git
2015-03-25 14:05:47 +00:00
Andy Williams
e2718aac97
elm_code: add text search functions.
...
Update the search and replace UI to work with the new elm_ode UI.
2015-03-22 22:36:04 +00:00
Andy Williams
ef4e5ee686
elm_code selection: move cursor to selection
2015-03-22 22:28:07 +00:00
Andy Williams
036622efd2
elm_code widget: fire user change events
...
This does not yet have a "change" attached so does not
support undo/redo yet
2015-03-21 20:04:12 +00:00
Andy Williams
015b2cfa97
elm_code file: add save method to write out lines
...
use a temporary file as we may have mapped the data directly.
2015-03-21 19:25:25 +00:00
Andy Williams
c335a5b921
elm_code file: get line ending chars
...
Quickly add support for the line end character sequence.
Just windows and Unix now, as per the enum defined.
2015-03-21 13:58:30 +00:00
Andy Williams
6509d5c1d6
elm_code selection: Input selecttion from mouse
...
When editable allow dragging the cursor with a mouse button
down then set up a selecttion.
2015-03-18 22:24:56 +00:00
Andy Williams
4398dd38f8
elm_code whitespace: only display actual newlines
...
No newlines at the end of a file if there is no other line
2015-03-18 22:18:34 +00:00
Andy Williams
e4cf9ed41a
elm_code: selection highlighting
...
Adding initial support for displaying selection within the widget
2015-03-17 22:42:03 +00:00
Andy Williams
433bac2c1b
elm_code file: detect line endings
...
Check for Windows otherwise default to unix for now.
2015-03-15 23:07:31 +00:00
Andy Williams
7c5d0e3873
elm_code unicode: highlight tokens correctly
...
When encountering unicode characters make sure we highlight
in the correct columns rather than at the byte locations.
2015-03-14 16:42:56 +00:00
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