Andy Williams
fe89f7fbde
editor: trigger saves if selection cut or pasted
2015-05-30 10:31:46 +01:00
Andy Williams
642bb0ba85
elm_code: support setting custom fonts
...
For EDI create the config that would allow this to be altered.
Actual setting widget to follow...
2015-05-30 10:31:46 +01:00
Andy Williams
fcce45fc82
Fix deletion inserting random data.
...
Off by one error (doubled). Classic.
Lesson: Run the tests you write!
2015-05-29 13:10:25 +01:00
Andy Williams
de37470730
selection: fix crash when deleting large selection
...
snprintf is not the tool for simple string copy
- especially if not null terminated
2015-05-24 12:58:39 +01:00
Andy Williams
4c00c9e1fc
Update to latest eolian (getting stable we hope).
...
Also mark code as a construction property
2015-05-20 14:18:20 +01:00
Andy Williams
8d9f952958
Fixup tests
...
Fixing compile errors and out of date tests. oops.
2015-05-18 19:40:06 +01:00
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