Commit Graph

50 Commits

Author SHA1 Message Date
Émilie Feral
0a823da78c [escher] Variable box pop-up is handle as Toolbox pop-up by asking
InputEventHandlerDelegate
2018-11-23 12:04:03 +01:00
Émilie Feral
698332c355 [escher] InputTextDelegate and LayoutFieldDelegate don't inherit from
InputTextDelegate to avoid diamond inheritance
2018-11-23 12:04:03 +01:00
Émilie Feral
7778c694d1 [escher] Create an InputEventHandlerDelegate that gives the toolbox to
be used by an InputEventHandler
2018-11-23 12:04:02 +01:00
Émilie Feral
01e433a9f2 [escher] Clean Field and Input class hierarchy:
Class hierarchy:
- InputEventHandler
- TextInput
- EditableField derives from InputEventHandler
- LayoutField, TextField and ExpressioField derives from EditableField
- TextArea and TextField derives from TextInput
2018-11-23 12:04:02 +01:00
Romain Goyet
f8beae3b86 [kandinsky] Move to KDFont 2018-10-11 16:44:02 +02:00
Émilie Feral
466c44781a [escher] Fix buffer overflow in TextArea 2018-10-08 11:56:14 +02:00
Émilie Feral
f8f0813485 [escher] TextInput: get rid of variable-size tables 2018-09-17 17:14:43 +02:00
Romain Goyet
a514f2a6be [escher] TextArea now uses clearRect and drawLine 2018-06-04 16:08:11 +02:00
Romain Goyet
9e4a1c7d54 [escher] TextArea cleanup 2018-06-04 16:08:11 +02:00
Romain Goyet
d2b2705d2d [escher] TextInput doesn't use colors anymore 2018-06-04 16:08:11 +02:00
Léa Saviot
b752ab0389 [escher] Add bool forceCursorRightOfText in handleEventWithText
Change-Id: I9124a1bacfce821fc761ddefc4d8b43de82dbc21
2018-05-17 13:42:20 +02:00
Léa Saviot
0294ebc448 [escher] Fix signed/unsigned int comparison
Change-Id: I72b6dc3f46ee585814a540fc999001e113db0ea1
2018-05-16 17:34:34 +02:00
Léa Saviot
99f6d73e19 [apps/code] Put cursor inside parentheses when inserting function
In Code::VariableBoxController.

Change-Id: Ib129781d46159c017bcb02e97c6667b6084f5b67
2018-05-16 16:00:24 +02:00
Émilie Feral
bb8ab2a42e Merge branch 'saisie-jolie' into master-merge-saisie-jolie 2018-05-16 11:28:07 +02:00
Léa Saviot
40d9fc4c42 [escher] Fix signed/unsigned comparison warning
Change-Id: I3278e2e1a951475f96adae4f0c6ba6b6b52a170e
2018-05-16 11:22:47 +02:00
Léa Saviot
13ae1d2545 [apps/escher/toolbox] handleEventWithText for all responders.
This makes the code in the various toolbox more generic. The arguments
of the text to insert are each replaced by a Ion::Charset::Empty.
These Empty chars are used to create layouts in ExpressionLayoutFields,
and to compute the position of the cursor in other fields, before being
removed.

Change-Id: Ie81c1e394b06fef2ab801ccff919d6550f70ec30
2018-04-23 17:18:48 +02:00
Léa Saviot
c97c1b6231 Remove debug comment.
Change-Id: I2bd6731e8045606fb0132d29e2aea353f0518380
2018-04-16 11:42:32 +02:00
Émilie Feral
aade7cb2fe [escher] Create a class TextInput (from which derived TextField,
TextArea)
2018-03-22 13:12:12 +01:00
Émilie Feral
576caa039f [apps][escher] Add methods 'handleEventWithText' in TextField and
TextArea to fix bug in probability (adding a toolbox text from the
calculations controller)
2018-03-22 13:12:12 +01:00
Émilie Feral
975f54c7b2 [ion] Change events name: Origin->ShiftLeft, End->ShiftRight 2017-12-07 17:42:39 +01:00
Émilie Feral
15610064fa Coverity: fix unitialized pointer fields, out of bounds reads ...
Change-Id: Iae0656ffe667692dfb3bebf9bb7913b5872175c6
2017-12-06 14:50:26 +01:00
Léa Saviot
5bfc482e62 [escher] textArea now returns a bool when inserting text.
Change-Id: I79111148e8e8b30abb24a6aecea0c187dbd7e2f6
2017-11-21 17:37:48 +01:00
Léa Saviot
ce30428306 [escher] TextArea handles Paste event.
Change-Id: I33c0d21093f94edd987d7f4d2f7fd7363a1ee525
2017-11-17 14:05:23 +01:00
Léa Saviot
59c840ef9a [code] Auto-indentation when inserting Toolbox items in scripts.
Change-Id: Id444ab91965999a3d322dee2fa58f73c86aa6992
2017-11-17 14:05:23 +01:00
Léa Saviot
42e6435973 [code] Fixed Script edition cursor bugs.
The scroll is now reloaded when text is inserted or a new line is
entered. When opening a script, the cursor moves to the end of the
script.

Change-Id: I027ea80db485916fc3fc962cfa9e032ca0bbc81e
2017-11-17 11:59:50 +01:00
Léa Saviot
13bf8c2d62 [code] Python toolbox.
Change-Id: I4028b05c662cae04a5ac3af5021f3438bb22dcd0
2017-11-17 11:59:50 +01:00
Léa Saviot
b7baec4a40 [code] Keyboard events translation, for script or command edition.
For instance, the "power" event should insert "**" in the text, not "^".
Added a universal i18n file in apps/code.

Change-Id: I5d067b0c5b86590af95aa98856522d54e42acba6
2017-11-17 11:59:50 +01:00
Léa Saviot
681be23c30 [code] Auto indentation in the script editor.
Change-Id: I7066c41fa53068e6f18a5ad226b5e72f591f02e2
2017-11-17 11:59:50 +01:00
Léa Saviot
fbb5c70339 [code] Cleaned Script and ScriptStore classes, created accordion.h
A Script object now contains its AutoImport marker, its name and its
content. The ScripStore methods have better names and the optimization
is cleaner.

Change-Id: I1b21af2d23f1c9a34f984309512b0c01b2f1c320
2017-11-17 11:59:50 +01:00
Léa Saviot
f3200fe2e9 [code] Program store that uses an accordeon buffer to store the
programs. The user can now add scripts.
A contextual menu displays various options when clicking on a script,
such as editing.

Change-Id: I124a17f7584b0beedb897e8499ca0a1bb6c13cbe
2017-11-17 11:59:50 +01:00
Émilie Feral
4e5b68b45d [escher] Fix bug due to int32 overflow
Change-Id: If9760bd9082b7e3f8ebea04cef1df63bae39a2a6
2017-09-27 17:41:33 +02:00
Émilie Feral
feeec6b826 [escher] Add behaviour for end and origin events
Change-Id: I363dad3c566289a285179a9f26d3a779f0ff812f
2017-09-27 10:28:16 +02:00
Émilie Feral
8a50b42611 [escher] Fix bug in text area (afl-fuzz) 2017-09-06 17:40:46 +02:00
Adrien Bertrand
f34bf67bab build: fix warnings
* escher/src/text_area.cpp:113:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
* liba/src/external/openbsd/k_rem_pio2f.c:66:54: disable -Wmisleading-indentation
2017-08-30 13:01:22 +02:00
Émilie Feral
71c11bd22c [escher] In text area, change the behaviour of clear event
Change-Id: I4bc49d54f84a2db7155c63d962a2c28fe3c614a5
2017-08-28 11:51:11 +02:00
Émilie Feral
b15d65eb7a [escher] Implement clear in text area
Change-Id: Id3c636a1dfc95c8989c6226db962e3e7d180d271
2017-08-25 11:20:48 +02:00
Émilie Feral
8715c53d7e [escher] Correct buffer limits check in text area
Change-Id: Id7653bc36cac300f3205c04cfa5f6c0d17b6f84d
2017-08-25 11:20:48 +02:00
Émilie Feral
8f65fb6535 [escher] In text area, correct move cursor
Change-Id: I4705129f3739c0548381a555f03e6ca08704bec7
2017-08-24 14:05:24 +02:00
Émilie Feral
779db66a15 [escher] In text area, optimize the dirty tracking
Change-Id: Icfee9e22ea4f3423064eca764491da10e1b603b6
2017-08-24 14:05:24 +02:00
Émilie Feral
5f14bba390 [escher] In text area, add bounds check to moveCursorIndex
Change-Id: I1768cad3706e1530ee74803242296301ba53ae1e
2017-08-18 13:34:35 +02:00
Émilie Feral
0449f535da [escher] In text area, EXE insert a \n
Change-Id: Ib170c6eea16ff961f6a9daee4dd94b96b6fef333
2017-08-18 13:34:35 +02:00
Émilie Feral
212384986f [escher] Fix insert text in text area
Change-Id: Ia488811bfbc7399fb3a5fa8390bd693e35639008
2017-08-18 13:34:34 +02:00
Émilie Feral
46990e1c25 [escher] Make textField used scroll view methods instead of duplicating
them

Change-Id: I10ca0b02f8a87797ce678041cba54c116961ce5c
2017-08-18 13:34:34 +02:00
Émilie Feral
ee51729eba [escher] Move from table view to scroll view the method a update the
scroll to the size of the content view

Change-Id: I2c4aa457425bf5a8a484aecc061ae27453e9aabb
2017-08-18 13:34:29 +02:00
Émilie Feral
06b47f363e [escher] In text area, fix bug regarding the size of the area
Change-Id: I2f04eedfd98373702e48e0abda421afe2c0540fa
2017-08-17 16:21:22 +02:00
Émilie Feral
85ee2d2a83 [escher] In text area, clean warnings due to comparisons between sign
and unsigned int

Change-Id: If744543a1955c8a9fe5987c43b24d863164c56a3
2017-08-17 16:21:22 +02:00
Émilie Feral
5c4740913b [kandinsky] Replace KDText::stringSize(" ") by KDText::charSize()
Change-Id: Ie962d7784b54ff41431d21f64d9af0887a86f9b7
2017-08-17 16:21:17 +02:00
Romain Goyet
4e08d520da [escher] TextArea can now edit its content
Change-Id: I129a184bc94975c8dd5fd2e7b8c63309978bff02
2017-08-04 17:27:37 +02:00
Romain Goyet
20e1554a13 [escher] First working TextArea implementation
Change-Id: Iae9618f54813be9f116d4797feec6fd163a37a66
2017-08-03 23:28:24 +02:00
Romain Goyet
298a308f36 [escher] Add a TextArea view
Change-Id: I3dccb4baf806491dcd06050c4fd5d43b982c8f57
2017-08-03 18:41:17 +02:00