Convert places that call
aStr[aStr.getLength()-1] == 'x'
to use the shorter form
aStr.endsWith("x")
Change-Id: I1b3a19c0e89b8989cdbeed440f95fc76f9a4b6b6
(Had to fix type of some variables holding TextPaM::GetIndex() values from
sal_uLong to sal_uInt16 to avoid -Werror,-Wsign-compare failures when comparing
those against HightlightPortion's nEnd.)
Change-Id: Ia8a0ba682ae28e86e394ee48adff3225eb8de053
the layout changes for the basic IDE ( for the object browser and object
catalog ) seem flacky, I have seen since those changes have been introduced
some strange ( but random ) behaviour ( like the odd unrepeatable core ( maybe
related to this ) and also sometimes Modules appearing in the tree under the
wrong nodes etc. I'm no expert in the basic IDE code but this patch seems to
fix the problem.
However there is one drawback, in the core inducing scenario the tree view
( object catalog ) dissappears, this is because the patch suppresses the
problematic layout in this case ( as the layout seem not to be currently able
to deal with 'no-existent' (recently) deleted current window )
Probably in this scenario a fallback currentwin (instead of nil) could be set
this would behave better but ideally. Ultimately the layout class should
probably be modified ( possibly redesigned )
Change-Id: I9d1e23bd6fc4aae32aa78da8278c318f7051136a
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
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 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
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