Age | Commit message (Collapse) | Author |
|
Change-Id: I804bafb4057e1bb409b7f30d79554f2773cb3967
|
|
Change-Id: I7a5ae7cc0d6a253bbc27db076babedd65c89be1a
|
|
Fixed the small bug in positioning the listbox to the right side.
Function ResizeListBox was renamed to ResizeAndPositionListBox.
Change-Id: I3cea54ad5658ee1628935b4975f52fe78c1ff5c3
|
|
Listbox clipping works correcly on the right side and on the bottom.
The function calculations are done from the initial position: if the actual X/Y coordinate + width/height exceeds the visible area, listbox is poitioned up/a bit left.
Change-Id: I17ff28cd23423819b55d7079c6d35484b567899c
|
|
Listbox positioning on the bottom is corrected.
Change-Id: I75af0ff68b24ad26e9c9bd41d91a6ac9d1fa9d1c
|
|
I've added a new function called EditorWindow::GetLastHighlightPortionTextSelection, which gets the last edited word (from the highlight portion), and creates a TextSelection from it. Later, this is used to remove/replace text in the listbox when pressing the tab key. The proble was, that is cleared the whole line, but now, it just clears the newly edited word.
Change-Id: I61b6721696e89002705c9980579023b42ad1faaa
|
|
Wrong TextPaM's caused the autocorrection to insert the string multiple times, this is now fixed. I use the values from the HighlightPortion struct.
Change-Id: I5ff5f01c06738088639186c35eb58ee9ff497d95
|
|
Code completion: parser recognizes extended types ony when the checkbox is checked.
Fixed a crash caused by a misspelled uno type.
Fixed function CodeCompleteDataCache::Clear() to clear both internal variables.
Change-Id: I82fdd2e1cf749237e2e2de4a9a2fc7d07fb7eb4a
|
|
Tools/Options are now saving correctly.
I've added a check for empty string in EditorWindow::HandleCodeCompletition.
Change-Id: Ib5d75fe840e3c3fd12cd7175fb7828b8a1d76db6
|
|
Some code fixes in function EditorWindow::HandleAutoCorrect():
updating the module and getting the data from parse is necessary(not just when code complete is on).
Removed some duplicate code when checking for the type of the actual highlight portion.
Change-Id: I29a62dae23f2c28e54f9185ac59ff2747c64e0d7
|
|
Fixed some small issue with the right arrow key in the ListBox.
Autocorrection now correct all variable types and procedure names.
Change-Id: Iff1abaf10c621aef04772837faa272bb6f987e37
|
|
Added some constants for CodeCompleteWindow::ResizeListBox().
Simplified a condition is EditorWindow::HandleAutoCorrect().
Change-Id: If8aa34273b6170130d95a309ed385a5152418b76
|
|
Now all calculations are done in this function, plus the initial TextSelection is passed as a parameter (it it needed to determine the location of the ListBox).
Some local variables were made constant.
Change-Id: I36942ded72cc988c8fd5114e0d666f447b80d396
|
|
Autocorrect fixes the new types independently from code completition(not just pressing the "." after the variable).
Change-Id: Icc31af29f1dcc0de662d7fc191c3f215188b571b
|
|
Options now work correctly: I've added the missing function.
Rename: renamed some variables and methods to kep the consistence( Autocorrect keywords -> Autocorrect).
Change-Id: I6b4914575f1a06eb3268c133b8b990364e3d24e4
|
|
Code completition: left/right arrow keys handled. Left arrow dismisses the dialog when reaches the dot. Right arrow dismissed the dialog when reaches the next line.
ListBox appearance fixed.
TAB key can insert the first matching entry.
Autocorrect:
"Autocorrect Keywords" has been renamed to "Autcorrect" (in the UI, and the config file, after this patch a make dev-install is needed). Keyword case correction is not just capitalizing the first letter ( eg. Elseif -> ElseIf ).
Autoclose procedures:
cursor is being placed inside the preocedure.
Change-Id: Ie7e9ae96b49bd94562db83f96e1c4ad63ab3f3d6
|
|
Created a new tab in Tools/Options/Basic IDE options instead of the ModalDialog.
The original dialog under Basic IDE/View/IDE Options was removed.
Tab page is disabled when experimetal flag is off, entry node in the treebox is visible.
Change-Id: Iaad1ea5fadc3f05ca81f2240dceb513f25be35b9
|
|
Feature: TAB key now inserts the matching entry. When the TAB key is pressed simultaneously, it selects+inserts the next match.
Fixed some duplicate code calls.
Added a function called CodeCompleteListBox::GetParentEditWiew() to shorter the parent's ExtTextView variable access.
Change-Id: I2ae2eaa07fff760d91d05120439c76b215fcd3c1
|
|
Simplified the nested reflection.
Fixed the small issue with the autocorrect keywords: it corrupted the line when doing nested reflection.
Iterator is used instead of for loop when extracting identifiers for nested ferlection.
Change-Id: I8e7e83b4e46838a32e03f71b4fe91dd9d94b3131
|
|
Removed the call of CodeCompleteListBox::GrabFocus.
Change-Id: I6095f354eadd680d040319beb4d15d37850c3e9d
|
|
Removed some unused functions from CodeCompleteListBox/CodeCompleteWindow.
Renamed CodeCompleteListBox::SetVisibleEntries to SetMatchingEntries.
Simplified autocorrect functions.
Change-Id: I29f9653d52fff2c5020243aa5c14f1ea280018d3
|
|
Created a new class: UnoTypeCodeCompletor, which does the field/method extraction for code completition.
Functions GetXIdlClassMethods() and GetXIdlClassFields() have been added to UnoTypeCodeCompletor and removed from EditorWindow.
Change-Id: Ia47965b502c868f52c466c282cb98ccd806ff6f7
|
|
Small fix in the listbox size: I'm using GetOptimalSize to set the correct width.
EditorWindow::KeyInput: autocomplete/codecomplete functions have been placed into separate functions.
Function autoclose sub/functions: duplicate code removal.
Change-Id: I44678753fc9737fd7a0913af3caa4f1f565aca28
|
|
Listbox top does not cover the actual line.
Listbox width and height problems are fixed.
Change-Id: Ia814f14c3ae326eecd497df2a233eee0b6c30adb
|
|
Stucts can be autocompleted when extended types disabled.
Created two functions to make the code brighter. They extract the methods/fields from an XIdlClass and return them in a std::vector<OUString>.
I had to modify file basic/source/comp/dim.cxx, to check on UNO types when code completition is on.
Change-Id: Id93a6fe896424efb7868f6102985f59fb419b17e
|
|
CodeCompleteListBox now uses KeyInput instead of PreNotify to handle key events.
The cursor is visible, arrow keys navigate the listbox correctly.
Change-Id: Ia0d5c5c48858d345dc4b4886ece1db618bdfc67c
|
|
There are two cases:
a) TextView in focus: cursor is visible, typing works, except the arrow keys are not working for the ListBox
b) ListBox in focus: no cursor, everything works
Change-Id: Iaaec69c04370e4d05e226abeecd420bf4d4f52cd
|
|
When the listbox appears over the line, it no more hides the top of the cursor.
Change-Id: Ic2d0e8295cc4c44f06765af0d431859b53ab88d2
|
|
Menu enrty was renamed to IDE Options under View.
SID_BASICIDE_CODECOMPLETE was renamed to SID_BASICIDE_IDEOPTIONS.
CodeCompleteDlg was rename to BasicIDEOptionDlg.
Ui file was renamed to basicideoptionsdialog.ui.
Checkbox for extended types is now independent from code complete one.
Change-Id: Id862df0ee56cdf2aa81e19a34099fe679ad5d311
|
|
Menu enrty was renamed to IDE Options under View.
SID_BASICIDE_CODECOMPLETE was renamed to SID_BASICIDE_IDEOPTIONS.
CodeCompleteDlg was rename to BasicIDEOptionDlg.
Ui file was renamed to basicideoptionsdialog.ui.
Checkbox for extended types is now independent from code complete one.
Change-Id: Id862df0ee56cdf2aa81e19a34099fe679ad5d311
|
|
Fixed function autoclose procedures: when there was an incomplete function/sub, and the lookahead found another sub/function, autocorrected the wrong ending. This is fixed.
Change-Id: I3d894808fe8111f1ea1fac797b16576d843bff68
|
|
ListBox appearance fixed at the borders:
a) bottom: it it placed over the current line (not under)
b) right side: listbox's right side is adjusted to the window's right side
Coed fixes:
CodeCompleteOptions now intializes itself from the configuration file BasicIDE.xcs
Added a checkbox for enabling extended types in the options dialog.
Cursor is visible when the listbox is active.
Fixed the small issue when deleting a character.
Change-Id: I68b80143de245cebfce65cdd8af37ea4694aa81b
|
|
Storing code completition data in config file is fully functional.
Change-Id: If9a974dd0ed052e26963ad5f202493674f1a51ca
|
|
Created a config file to store configuration for the feature.
NOTE: it gives a runtime error, so it is temporary disabled.
Change-Id: I7103bdfad43bb5760165430a57d93a90a7e5dc7e
|
|
Fixed the procedure autoclose function. Now, autoclose is based on the syntax higlighter: if finds an opening token, starts searching forward to a close token.
If there is another sub/function keyword, or EOF is reached, the procedure is considered incomplete.
If the end token is found, the procedure is considered to be closed.
Added function autocorrect symbol spelling, wich corrects the ascii case of the keywords, and corrects the spelling of the extended types.
Change-Id: Ibd17f319a6d6ff5c3f91f4adb7a10dc701f0468a
|
|
Fixed the listbox appearance even the source file is scrolled.
When scrolling, and the listbox is visible, it gets hidden.
I've set the Code Completition to defaultly true, to make testing easier.
Change-Id: If571a4f1d38751b35fd43ab3c1f13daccd9dd375
|
|
Fixed the issue when an invalid method was typed, listbox showed tha methods of the base variable.
Change-Id: I88576645b373e76112103055d547f713af1fc153
|
|
Fixed creash error on accessing elements of an empty vector.
Reflection is now extract fields also.
Change-Id: Ic41353cbe9fc404115eb0d2b2f9d5706fc044dab
|
|
Autoclosing parenthesis function is working. Implementation is similar to autoclosing double quotes, except that this one does not need the HighlighPortion struct to use.
Renamed the checkbox title to "Autoclose parenthesis".
Change-Id: I4311cd8020f0dc0b62a2d8707e0eccbf57e0d2c2
|
|
Fixes runtime crash by not checking the string length in "Autoclose Quotes" funtion.
Change-Id: I15e58a0fd487ce86b832452a562406b8155b2641
|
|
Feature autoclosing double quotes (strings) implemented.
When the user presses the '"' key, it's pair is also being inserted (only when the previous character is also a '"'), and the cursor is being placed inside the two quotes.
Also, if the there was a string (like: "aaa""), the second one is not inserted.
Change-Id: I3e4a5e426d2d4bdbf56899fe3e36359ae161b52a
|
|
Now, function procedure autoclose is working.
Created a struct named IncompleteProcData to store the line number, type and name of the inclomplete procedure. Procedures are store in a vector (IncompleteProcedures), and are as a member in SbModule.
I've created a function called SbModule::GetIncompleteProcedures() to extract the data. Data extraction uses SbModule::SetSource32, beacuse that one tokenizes sthe source file, and recognizes procedures.
Closing procedures is triggered ky pressing the Enter key when typing. It checks the actual sub, and if it's incomplete, adds the correct ending( End Sub/End Function).
There is only one problem: function SbModule::SetSource32 is not too often calle, maybe extraction should be done by a timer.
Change-Id: Id88daaef329e8b5c194b765c5261d356bfb3a0c9
|
|
Added a function to disable QuickSelectionEngine in ListBox, beacuse it's not needed.
ListBox navigation changed: it is not hiding/showing entries, instead of it, jumps to the longest match without filtering.
Arrow behavior remains the same.
Change-Id: I8982c280f20929c74f9630cbaa95010820d2e234
|
|
Change-Id: I61f4a6af62d67f2fd5f421e2173cca179d399815
|
|
The CodeCompleteDataCache got a new implementation: global variables are stored separately.
The "static const" OUString-s were removed from the class.
Data extraction is only done when pressing the dot key.
Change-Id: I3ff94c0c6eabe328761336d4c74744eb7efc6056
|
|
Created a ModalDialog named CodeCompleteOptionsDlg to edit options for code completition/suggestion.
Unimplemented features in it are disabled.
The dialog window uses Glade .ui file.
Change-Id: I1b59f386a9575aa25b38c5a1d7d1f020498a69ab
|
|
Menu entry is added under View->Enable Code Completition when in Experimental mode.
Fixed the call of funtion SbModule::GetCodeCompleteDataFromParse() to be called only when code completition is enabled.
Replaced the occurences of SvtMiscOptions to CodeCompleteOptions.
Change-Id: If0520123ab5f612d7d24fb98f8e9bf6881af76cb
|
|
Fixed the definition of GLOB_KEY, NOT_FOUND from const to static const.
Added a new menu entry for code completition under View->Enable Code Completition.
Change-Id: If8ac25ee43a7ba780ccdee2e5e909777115a1f27
|
|
CodeCompleteWindow is hidden when clicking out: thi is implemented in
EditorWindow::MouseButtonDown: if CodeCompleteWindow is visible and
the actual TextSelection of the window and the parent's TextView is
different, hide the window (I assume the user changed selection, eg.
clicked on other line, etc.).
Change-Id: Icb6bcffa837b2f7e1ccef288b9d762e27649410b
|
|
Fixed the link error: declared CodeCompleteDataCache as BASIC_DLLPUBLIC and it worked fine.
Fixed sergmentation fault error in CodeCompleteWindow.
The new cache implementation is fully functional.
CodeCompleteWindow is now being used as boost::scoped_ptr.
Change-Id: I76a0fc7407d589e7f94280fc4d50cea51b9639db
|