Commit Graph

47 Commits

Author SHA1 Message Date
8f6c55a839 Replace SV_DECL/IMPL_REF macros with SvRef template
Change-Id: I0ef2e67f6d61e0ce118c0f5e926b8194ef9d8058
2014-04-07 12:38:27 +02:00
af8c8f80aa StarBASIC::ErrorHdl sal_Bool->bool
Change-Id: I68cc6c6b63174ff16e5fda00f62172e1eaacbf0d
2014-04-04 13:44:17 +02:00
2d1eaee66b SbxObject::Call sal_Bool->bool
Change-Id: I2e52ddf704679a118fbbc4efebb7cf9fb36f0c34
2014-04-04 13:44:16 +02:00
88ab8181d9 SbxObject::isClass sal_Bool->bool
Change-Id: I71f7b3603df43924d7374969444b929e1eecca4e
2014-04-04 13:44:16 +02:00
362d4f0cd4 Explicitly mark overriding destructors as "virtual"
It appears that the C++ standard allows overriding destructors to be marked
"override," but at least some MSVC versions complain about it, so at least make
sure such destructors are explicitly marked "virtual."

Change-Id: I0e1cafa7584fd16ebdce61f569eae2373a71b0a1
2014-04-01 19:22:54 +02:00
061130bd6d fdo#75280 Started cleaning up of sal_uIntPtr usage.
Converted wrong usage of sal_uIntPtr to appropriate other types in basic
module.

The bug is not fully fixed with this since many other occurences of sal_uIntPtr remain.

Update due to code review comments:
Fixed forgetting to change some declarations in iosys.cxx.
Cleaned up the one remaining sal_uIntPtr in iosys.cxx
Fixed adding a sal_uInt64 to a Date (uses long now instead) in methods.cxx
Fixed the VarDecFromUI4 call in sbxdec.cxx from sal_uLong to ULONG .

Conflicts:
	basic/source/runtime/iosys.cxx

Change-Id: Ia6460be04967deb68b92eb62d945da8814fae605
2014-03-28 20:08:46 +01:00
77fd24afc6 Remove remaining DBG_CTOR etc. remnants from basic
Change-Id: Ia714029c2e32e28c1bb6f4f59d0c7f357eccc236
2014-03-28 15:15:26 +01:00
75ebd3bdf3 basic: sal_Bool->bool
Change-Id: Icd78d21495f305c8f00280eee76e7262e542317d
2014-03-27 13:45:08 +02:00
f288d7dcbd basic: sal_Bool->bool
Change-Id: Id4952b6f97f9e8f917fea5651dee91499d109e48
2014-03-27 13:45:08 +02:00
d7c5d9e385 basic: sal_Bool->bool
Change-Id: Idfe18863b2c6f60da5192d661f66e85a2bac09e5
2014-03-27 13:45:08 +02:00
70cc2b191b First batch of adding SAL_OVERRRIDE to overriding function declarations
...mostly done with a rewriting Clang plugin, with just some manual tweaking
necessary to fix poor macro usage.

Change-Id: I71fa20213e86be10de332ece0aa273239df7b61a
2014-03-26 16:39:26 +01:00
5fb78604c1 Split TYPEINFO into plain and TYPEINFO_OVERRIDE
...where the latter contains SAL_OVERRIDE annotations

Change-Id: Id64794b388d83dfe7026440e8b20a5b5efd412d1
2014-03-26 11:54:55 +01:00
39c7532933 basic: prefer passing OUString and OString by reference
Change-Id: I8121204cdb37d4e1d8967397f3e45bdab6aaddad
2014-03-13 08:39:26 +02:00
8792ec7b21 Remove visual noise from include
Conflicts:
	include/framework/preventduplicateinteraction.hxx
	include/sfx2/sfxbasecontroller.hxx
	include/sfx2/sfxbasemodel.hxx
	include/toolkit/awt/vclxtabpagemodel.hxx
	include/vcl/field.hxx
	include/vcl/settings.hxx

Change-Id: Ibccf9f88c68267a3d7e656012b51eaf644c418c2
Reviewed-on: https://gerrit.libreoffice.org/8272
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-03-01 09:51:32 -06:00
f6d97d00cd remove unused code in basic/CodeCompleteDataCache
Specifically:
  CodeCompleteDataCache::GetVars() const
  CodeCompleteDataCache::SetVars(boost::unordered_map const&)
  CodeCompleteDataCache::print() const

Change-Id: I59fb6f50ff47747c3cac959302bf6b7c4f4d79d3
2014-02-28 08:33:14 +02:00
5e21a413c7 cppuhelper: retrofit std::exception into overriding exception specs
Change-Id: I56e32131b7991ee9948ce46765632eb823d463b3
2014-02-26 18:22:20 +01:00
53ba2eefb0 fdo#63154 Removed unused solar.h ref. in basic and formula
Change-Id: Ibf30f29653568929e65ebd897cef474a6838d5cc
Reviewed-on: https://gerrit.libreoffice.org/7735
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-01-30 11:31:13 +00:00
4b0f171b24 sbxbase.hxx is private to basic
Change-Id: I108bd247a40ce2b46034cabe8b075fa4f5a396df
2013-12-11 10:49:57 +02:00
d76178b52d sbstdobj.hxx is private to basic
Change-Id: I131dfeded783edfea94208d1cf8d70a2090785fa
2013-12-11 10:48:12 +02:00
444aaceb15 sbprop.hxx is private to basic
Change-Id: I1d7a28652ee7743b6823d78e1565338a324f0a6a
2013-12-11 10:45:57 +02:00
0a33e24d11 sbobjmod.hxx is private to basic
Change-Id: I4ad28b049de5f7268ee1ca2e8992e2f29ed05380
2013-12-11 10:39:57 +02:00
dde119c8f2 basic/global.hxx is private to basic
Change-Id: I90a28e34eb45819e240931cd751ac0a546ea6be8
2013-12-11 10:36:58 +02:00
98d48bbbbb fdo#65108 inter-module includes <>
Change-Id: I419a1288bc6120d978fc301f127d5d29298f3ede
2013-11-09 13:30:11 -06:00
29c0fdc645 fixincludeguards.sh: include/{basegfx,basic}
Change-Id: Id18d3f4b4ed763b2ec9e718d66c3c3b9968fcac2
2013-10-23 23:22:31 +02:00
7f436c1fd3 typo fixes in comments
Change-Id: Iaadec33715f8e0e0c6595c5e684606905274fdab
2013-09-26 11:47:45 +02:00
b31f33bcc1 Easier conversion between Basic Date and UNO Date/Time
Utility functions to convert between Basic Date type
and the representations of Date and Time in UNO, namely:
 - com.sun.star.util.Date
 - com.sun.star.util.Time
 - com.sun.star.util.DateTime

Name of new functions:
 - CDateToUnoDate
 - CDateFromUnoDate
 - CDateToUnoTime
 - CDateFromUnoTime
 - CDateToUnoDateTime
 - CDateFromUnoDateTime

Change-Id: I2b971df20df1c0351d071023e042169b548894f1
Reviewed-on: https://gerrit.libreoffice.org/5897
Reviewed-by: Noel Power <noel.power@suse.com>
Tested-by: Noel Power <noel.power@suse.com>
2013-09-11 20:40:19 +00:00
b0184ebaa4 completition->completion :)
Change-Id: I7a5ae7cc0d6a253bbc27db076babedd65c89be1a
2013-09-03 12:39:30 +04:00
67596f4cc6 GSOC work, autocorrect procedures+variables
Fixed some small issue with the right arrow key in the ListBox.
Autocorrection now correct all variable types and procedure names.

Change-Id: Iff1abaf10c621aef04772837faa272bb6f987e37
2013-09-02 18:17:00 +02:00
82a4ad7a5c GSOC work, renaming + options fix
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
2013-09-02 18:16:59 +02:00
9b534193a3 GSOC work, behavior fixes
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
2013-09-02 18:16:58 +02:00
790a7aff12 GSOC work, renaming for consistency
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
2013-09-02 18:16:54 +02:00
27da1e7340 GSOC work, ListBox appearance fix (at the borders) + code fixes
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
2013-09-02 18:16:53 +02:00
c149c96cf4 GSOC work, "autocomplete procedures" fix + new feature
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
2013-09-02 18:16:52 +02:00
59055f24cb GSOC work, nested reflection fix - again
Fixed the issue when an invalid method was typed, listbox showed tha methods of the base variable.

Change-Id: I88576645b373e76112103055d547f713af1fc153
2013-09-02 18:16:51 +02:00
412e91d33d GSOC work, implement "Autoclose parenthesis" function
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
2013-09-02 18:16:50 +02:00
40433e2ca9 GSOC work, implemented "Autoclose Double Quotes" option
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
2013-09-02 18:16:49 +02:00
9a7b942a0a GSOC work, procedure autoclose implementation
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
2013-09-02 18:16:49 +02:00
edcec5b1be GSOC work, cache implementation fix, code fixes
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
2013-09-02 18:16:48 +02:00
70ab744ccf GSOC work, ModalDialog instead of menu entry
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
2013-09-02 18:16:48 +02:00
61ee2598b1 GSOC work, code complete option, menu entry fixes
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
2013-09-02 18:16:47 +02:00
3ce1f554de GSOC work menu entry + code fix
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
2013-09-02 18:16:47 +02:00
6165d0b484 GSOC work, some code fixes
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
2013-09-02 18:16:46 +02:00
6c1854f9f3 GSOC work, code fixes + cache implementation
WARNING: cache implementation gives a link error to it's methods.
Created the cache called CodeCompleteDataCache in file include/basic/codecompletecache.hxx
This class should replace the std::vector< CodeCompleteData > int file baside2b.cxx
When issuing command "make basic", it compiles fine, but, when "make basctl", it gives a link error (ld returned status 1) to CodeCompleteDataCache's methods.

Change-Id: If78c6533b7fb5653cc459d22b80c98d097b886eb
2013-09-02 18:16:45 +02:00
5beb4be54c GSOC work week 5, some recent fixes
This week I've managed to fix the ListBox appearance. Also, I've modified the code: it gets the data on insert/remove/change, and gets updated only when the dot is pressed. This makes the data to be up-to-date. Next, I wrote a Split(OUString , char) function to do the nested reflection (It works, but it will need some tweaks later). Also, code generation is disabled for code completition (just a boolean value, maybe it could be done in a more "elegant" way, like the error supression).

Change-Id: I43d250c0a065351950ac6424dcd88266d70bcef3
2013-09-02 18:16:44 +02:00
025e7ff3e1 GSOC work week 2, getting infromation from variables and print on terminal
This is an early version. I use the BASIC parser to parse the source,
then the infromation is extracted from the symbol table built by parser.
Error reporting is suppressed, beacuse it is not needed fro code completition.
I placed my function inside SbModule, and created a struct called CodeCompletitionData, which holds the object's name, it's parent, and it's type name.
This function, SbMethod::GetCodeCompleteDataFromParse() is called from Basic IDE's Notify function, which updates a cache(actually, reassigns a viariable :) ).
Later, in the EditorWindow::KeyInput function there is a check wheteher dot key is pressed. After that, the actual variable (or word) is being looked up in the vector that holds code completition data. And finally, if it is found, it's methods are printed on the terminal.

Change-Id: Idaf19baa8f720b8b117a76dc3cc2f90dd04fd155
2013-09-02 18:16:42 +02:00
03993b47c5 targetted clean of redundant header piece from 62badf3828
Change-Id: Ic1240114d667fb7797afae4847427cc889f3cb48
2013-07-26 14:18:52 +01:00
b9337e22ce execute move of global headers
see https://gerrit.libreoffice.org/#/c/3367/
and Change-Id: I00c96fa77d04b33a6f8c8cd3490dfcd9bdc9e84a for details

Change-Id: I199a75bc4042af20817265d5ef85b1134a96ff5a
2013-04-23 22:20:31 +02:00