Andy Williams
514a796ac3
elm_code selection: support two line selection
2015-03-25 22:17:41 +00:00
Andy Williams
3ff415222b
elm_code selection: test and implement single line
...
Multi line selection still to come
2015-03-25 21:55:00 +00:00
Andy Williams
ba5a31b884
Merge branch 'master' into elm_code
2015-03-25 20:52:14 +00:00
Andy Williams
ec720855ac
elm_code: Remove accidental dep on efl-git
2015-03-25 14:05:47 +00:00
Andy Williams
4fc9748db3
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
4c8b09de04
elm_code selection: move cursor to selection
2015-03-22 22:28:07 +00:00
Andy Williams
8eb3978c1e
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
f7f257fca4
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
a671101a09
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
adcff7bde3
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
59450c71f2
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
331e60969f
elm_code: selection highlighting
...
Adding initial support for displaying selection within the widget
2015-03-17 22:42:03 +00:00
Andy Williams
6d55e32c0c
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
bd3dc4247d
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
bda40e5f65
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
9f332be6fe
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
2f25503f8f
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
ecb35beb30
elm_code line: move freeing to the line file
2015-03-08 11:15:31 +01:00
Andy Williams
ff68af7076
elm_code line: unsigned int for length
2015-03-08 11:14:02 +01:00
Andy Williams
afeab4b53b
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
8f668b2deb
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
b392a21362
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
1978da98cf
elm_code editor: adjust tokens when we insert text
2015-02-28 22:50:18 +00:00
Andy Williams
f354c9a8b2
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
b28773a7f6
Merge branch 'master' into devs/ajwillia-ms/elm_code
2015-02-27 15:13:06 +00:00
Andy Williams
0c2819bd4f
editor: update to latest elm_code and show whitespace
2015-02-28 16:28:22 +00:00
Andy Williams
7ed4aa9695
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
3e5de50399
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
91b426d93e
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
e0477ff3cb
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
e8297bc390
elm_code tests: fix test path
2015-02-28 13:14:18 +00:00
Andy Williams
39c87635ea
elm_code: Fix finalized check macro
2015-02-27 15:07:38 +00:00
Andy Williams
40a6d3b3fd
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
a97cb87aca
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
079a65a98b
merge changes from master
2015-02-26 13:56:50 +00:00
Andy Williams
b2a18b6db7
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
c98ba7d1e8
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
94223c1788
elm_code: Add missing status icons from new states
2015-02-24 00:26:58 +00:00
Andy Williams
71fa2d13c8
elm_code: display a line-width marker if requested
2015-02-23 21:52:49 +00:00
Andy Williams
724bf617cb
Merge branch master
...
conflicts in elm_code_widget.c resolved
2015-02-22 23:38:54 +00:00
Andy Williams
0e49f40ff3
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
bbe671626e
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
dd9f96d2c0
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
1fab95cef1
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
36ab399b59
eo: remove generated files from git
2015-02-19 22:35:01 +00:00
Andy Williams
97c8c0ac75
elm_code: Update FIXME to be realisic - the textgrid size_set does not append
2015-02-19 21:52:41 +00:00
Andy Williams
187d9e609a
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
30460899a6
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
958340e321
Add a temporary fix for some scroll/append/refresh issue with layout
2015-02-17 23:56:20 +00:00
Andy Williams
88536c4ee1
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
133b41ff24
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
eaa683da03
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
ac35cc30d9
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
f6f19be6cb
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
83decd5183
Improving focus control a little
2015-02-11 22:01:37 +00:00
Andy Williams
6ac9fad7e3
Fixing some warnings on Windows.
...
Thanks, Vincent Torri
2015-02-11 21:25:09 +00:00
Andy Williams
b67705fcd4
Use public types as far as possible
2015-02-11 19:13:48 +00:00
Andy Williams
511f57511d
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
288f408d88
elm_code: Tidy up some unused code and fix up some focus management
2015-02-10 23:02:45 +00:00
Andy Williams
7c8d84d110
Fix a few warnings and possible build issues
2015-02-08 00:55:51 +00:00
Andy Williams
8572b15534
Finally fix make distcheck - clean up Makefiles properly
2015-02-07 16:05:42 +00:00
Andy Williams
8bded5325d
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
d47a6181cb
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
b14eabb679
Fix the tests to work with widget improvements
2015-02-03 13:55:20 +00:00
Andy Williams
e622acf735
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
1995b167e5
elm_code: Update style and alignment of gutter
2015-01-29 14:05:20 +00:00
Andy Williams
4686fd172c
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
f6b7a380df
elm_code: initial work on line numbers
2015-01-29 00:36:28 +00:00
Andy Williams
155c18c141
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
ae12a8406c
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
a0938ce656
Merge branch 'master' into elm_code
...
Conflicts:
elm_code/lib/elm_code_widget.c
2015-01-28 00:43:57 +00:00
Andy Williams
485443240c
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
3d65bbc456
elm_code: When appending lines ignore widget size now we're scrolling
2015-01-28 00:20:58 +00:00
Andy Williams
be7119c787
elm_code: Update resizing to reflect only the space that's required
2015-01-27 22:13:59 +00:00
Andy Williams
61912e962a
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
fc3b6963c7
Elm_Code: Keep up with min size so scroller works properly.
2015-01-27 10:43:32 -06:00
Andy Williams
ba60959058
And document the wiget API
2015-01-26 23:09:22 +00:00
Andy Williams
09ac58f30e
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
874101aeb1
Merge in key_down fixes from branch 'devs/ajwillia-ms/elm_code'
2015-01-26 19:06:27 +00:00
Andy Williams
50c5cb572b
Refactor eo widget2 to widget - update in edi too
2015-01-26 19:05:34 +00:00
Stephen Houston
a90e8cf789
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
159c47d340
Port everything to use new widget API. Remove old widget API
2015-01-26 14:00:37 +00:00
Andy Williams
f236f78cd4
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
d017c06339
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
29f683d084
Complete port of elm_code widget to eo as widget2
2015-01-24 22:07:00 +00:00
Andy Williams
5e21f9da54
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
4ed86910af
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
64b08570f0
Merge branch 'master' into elm_code
2015-01-23 23:42:07 +00:00
Andy Williams
664cff7d4d
install our test diff for elm_code_test binaries
2015-01-23 23:41:53 +00:00
Andy Williams
3fb3564d05
Experimental eo commit - structure in place and it's resizing but won't render
2015-01-23 22:55:13 +00:00
Andy Williams
1b1242a430
Merge in master
2015-01-17 22:08:16 +00:00
Andy Williams
6a63044b30
Add a click handler for lines in a widget
2015-01-17 19:57:15 +00:00
Andy Williams
e6ddefedd5
Tidying some more headers to try and get windows builds working
2015-01-10 17:55:04 +00:00
Andy Williams
3ab9857e52
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
432b05b575
Disable NLS by default when cross compiling, remove broken need for libintl
2015-01-04 14:07:35 +00:00
Andy Williams
9de1a9b318
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
cc3ae23d4b
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
ed4560dbaa
Remove circular include of the elm_code_file.h header
2014-12-24 18:06:51 +00:00
Andy Williams
4e0b183f34
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
d9c5fe08b9
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
896452e559
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
04dda232b6
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
933b54ebd3
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
d0ad93e47a
Render all filename headers in a diff widget
2014-11-23 00:19:36 +00:00
Andy Williams
a6d1aa3204
Fix warning
2014-11-22 22:44:37 +00:00
Andy Williams
ba42d32d5e
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
586bbb41aa
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
69f121789e
Fix a test missed in move to mem-mapping
2014-11-19 23:20:23 +00:00
Andy Williams
822ef10934
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
f8896b1f54
Fix minor issues I saw in passing
2014-11-19 22:37:00 +00:00
Andy Williams
75bcfe3d80
Fix a memory corruption issue on some systems
2014-11-19 22:35:01 +00:00
Andy Williams
cb79a06615
Fix render test and an end of line corner case
2014-11-18 23:46:24 +00:00
Andy Williams
4748f81023
Add some text mode icons to markup the lines for now
2014-11-18 22:48:37 +00:00
Andy Williams
a82431c627
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
5a7f736d95
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
d6da31acf3
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
5fc5e3abad
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
227c883b65
A little more markup to the diff example with character add/rem/change highlighting
2014-11-13 21:51:23 +00:00
Andy Williams
99e6dfbbd9
Add a simple token system to allow us to render some text styles
2014-11-13 21:34:47 +00:00
Andy Williams
c28dd39224
Add a file load callback also - respect that with a widget refresh when called
2014-11-12 22:59:05 +00:00
Andy Williams
f429afa47d
Fix compilation of tests
2014-11-12 14:05:56 +00:00
Andy Williams
131a686c78
Fix the types of Eo Events - addresses lots of compiler warnings
2014-11-09 21:53:30 +00:00
Andy Williams
e3fd501e9b
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
f8a92218da
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
742e70186c
Take line coloring to the end of the line
2014-11-09 00:47:00 +00:00
Andy Williams
fdccc03a4a
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
051e03ba99
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
4eec76793b
Fix a crash when resizing if the file is longer than the viewport
2014-11-05 13:36:54 +00:00
Andy Williams
4be9198da5
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
a28e199c72
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
0ad14fac14
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
83c0e231ec
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
3d35a3f949
Add some documentation grouping
2014-10-26 22:08:52 +00:00
Andy Williams
383bae2def
Update tests to use the proper api check
2014-10-21 22:28:12 +01:00
Andy Williams
a50fd20f06
warning--
2014-10-21 22:27:10 +01:00
Andy Williams
6cf6df3886
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
0bb5201e3c
Load lines sequentially and insert to a structure for reference
2014-10-19 22:29:44 +01:00
Andy Williams
b38f986767
A pretty slim test of file loading and initial path apis
2014-10-17 23:36:07 +01:00
Andy Williams
a78a0301e7
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