Commit Graph

225 Commits

Author SHA1 Message Date
Andy Williams c84b148670 Update to latest .eo file type 2015-05-18 19:24:01 +01:00
Andy Williams 1c5717ffb1 editor: fix nulls being appended to lines
Should resolve issues with nulls being inserted
and also crashes on pasting into a selection
2015-05-18 15:49:24 +01:00
Andy Williams 7a8b0c8b93 editor: add pageup/down support
Page up or down by 85% of the visible window height
2015-05-12 23:15:25 +01:00
Andy Williams 703c63f426 eolian_gen fixes to inheritance 2015-05-11 23:17:44 +01:00
Andy Williams a44f55cf69 Update elm_code widget .eo doc for EFL master 2015-05-11 23:11:28 +01:00
Andy Williams c8d23dc720 editor: wrap left and right cursor moves around
when there is a line to move to we should wrap cursor movements
2015-05-05 22:38:02 +01:00
Andy Williams 246132b4ea editor: bind home and end keys 2015-05-05 21:49:21 +01:00
Andy Williams a5e1f82382 editor: correctly paste multiline windows text 2015-05-05 21:41:29 +01:00
Andy Williams ee9cec7ddd editor: Fix crash when pasting multi line
Not tracking length correctly so depending on what else is
in memory we could overrun the buffer
2015-05-05 21:40:22 +01:00
Andy Williams d2f14a82b7 elm_code: add a TODO/FIXME standard parser
Corret some callback code and re-parse each time the file is saved.
Use this to clean up save/parse code in EDI too
2015-04-20 01:21:03 +01:00
Andy Williams 4e7cae76dc elm_code: add multiline paste support.
Creating and breaking out a few helper text methods at the same time.
Test all that we can for this reasonably complex operation
2015-04-19 15:00:10 +01:00
Andy Williams 137dbed20b elm_code: retain line formatting on file callback
We don't need to reset all the lines in file load - just clear
2015-04-13 00:15:21 +01:00
Andy Williams 9cfe41ee00 syntax: reset status and hints when we reset token
re-use elm_code methods when we do this in edi
2015-04-12 23:04:46 +01:00
Andy Williams 462a60d85d syntax: don't slow down by repeating tokens
Clear out the token list before each parse callback loops
2015-04-12 17:25:20 +01:00
Andy Williams 8c0f74628b search: Fix issue when text is at end of line
Tests were wrong, fix and add more
2015-04-12 16:56:17 +01:00
Andy Williams 5e72e7e71e elm_code: Correctly delete tabs when mid-tab
Delete at least 1 char and move cursor to the beginning of the tab
2015-04-07 23:09:16 +01:00
Andy Williams 58c1e5bc82 elm_code: Fix position calculations at line end
Addresses random NULLs in content after newline
2015-04-07 23:05:47 +01:00
Andy Williams b6d0ced5ec elm_code: bring widget_text into widget object 2015-04-04 19:01:05 +01:00
Andy Williams 4cf18aed40 elm_code: refactor widget to seperate space.
Keeping the private files for elm_code cleaner
2015-04-04 18:17:01 +01:00
Andy Williams f50bff8e99 editor: Add a tooltip popup if you hover over a line with a warning attached 2015-04-04 17:51:39 +01:00
Andy Williams 151956ea93 editor: Fix performance of loading large files 2015-04-02 22:48:23 +01:00
Andy Williams 5a1629e7a4 editor: Fix performance of adding deleting lines
removed the numerous callbacks that were not needed
2015-04-02 00:32:16 +01:00
Andy Williams 7942fa8710 elm_code editor: Fix bug with newlines
Badness introduced with the tab work was padding lines with NULL
2015-03-30 23:36:28 +01:00
Andy Williams 3ce607322b elm_code editor: handle tabs when deleting
Make sure we're at the right position when we delete, backspace
or split lines with tabs in them
2015-03-30 20:07:45 +01:00
Andy Williams 73b612a340 elm_code: fix tests to provide elm_code widget
Required by new tab rendering changes
2015-03-29 20:52:38 +01:00
Andy Williams a5fbc90b14 elm_code: Fix minor mistakes with tab commit 2015-03-29 20:39:26 +01:00
Andy Williams ba44ecf1fa elm_code editor: display cursor over selection
If they overlap it's good to know where text will appear
2015-03-29 20:13:30 +01:00
Andy Williams e0e0eaa32c elm_code: Support rendering tabs
Add a tabstop configurable value so the view can be adjusted.
shuffle all content and tokens along when a tab is encountered.
2015-03-29 20:12:28 +01:00
Andy Williams 08daaed1f5 elm_code: Cut, copy and paste working
Current limitations that paste is into a single line
2015-03-28 17:57:47 +00:00
Andy Williams eee6e3c411 search: Update replace for elm_code selection code
That should be search and replace completely ported now
2015-03-28 16:05:36 +00:00
Andy Williams 94642cac2d elm_code selection: Support selection deletion
In the widget we always delete the selection if typing begins.
If delete or backspace was pressed don't execute the keystroke after.
2015-03-28 15:17:08 +00:00
Andy Williams 71233e8a30 clang: save errors and display if clicked
Using a gutter click in elm_code to print to console for now
2015-03-27 23:54:28 +00:00
Andy Williams c509a2ba98 Note that a fix is now temporary 2015-03-27 23:45:23 +00:00
Andy Williams b72fdea488 elm_code file: test windows with new eina fixes
Should pass from eina 1.13.99
2015-03-27 21:45:43 +00:00
Andy Williams 903d9a9875 fix wrong types / names 2015-03-25 22:59:42 +00:00
Andy Williams 71b80a1547 elm_code selection: complete multiline text get
ready for copy and cut functions
2015-03-25 22:55:32 +00:00
Andy Williams fabfa95d06 elm_code selection: support two line selection 2015-03-25 22:17:41 +00:00
Andy Williams 35866daf6a elm_code selection: test and implement single line
Multi line selection still to come
2015-03-25 21:55:00 +00:00
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