note: using VBA objects with the code completion is not possible at
the moment. Unfortunately there is some hard coded hacks for flattening
the namespace used by checkUnoObject.
Change-Id: Ic3a3149f41a6959943e71fa7ac22ff4dab7f30a1
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
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
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
Added a function to select the first entry in the ListBox by default.
Selected entry can be inserted with the ENTER key.
Fixed some code in basic code generation class (SbiCodeGen).
Change-Id: Ia6eb43ee5661a0a3ae0b738b619f19972f019eac
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
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
Introduced a new function calles IsUnoInterface in SbiParser to determine, if
a variable is a type of an UNO interface. It uses reflection.CoreReflection to
do that, on success it returs true otherwise false.
Change-Id: I18895127bcbd92dc7a25feb5d82a7d1343bde851
Compiler plugin to replace with matching number(), boolean() or OUString ctor,
ran it, few manual tweaks, mark as really deprecated.
Change-Id: I4a79bdbcf4c460d21e73b635d2bd3725c22876b2
Basic hex literals are basic Integer ( e.g. 4 byte ) types with
-2,147,483,648 through 2,147,483,647 range. Interally the scanner
was using a long to form/scan the literal, this led to bad behaviour
on 64bit linux ( where normally long -> 8 bytes )
Change-Id: I1d0fcc55ed0eda636da1445329737d1684e69f33
Change all instances of hardcoded "program", "share" etc subfolder names to
use those from <config_folders.h> instead. In normal builds, the end result
will not change.
Change-Id: I91c95cd8e482818be67307e889ae6df887763f53
else it keeps loadLibrary from completing,
because the latter cannot open the storage
because it is already open in read/write mode.
Change-Id: Icd0aabfff6e67af2c38a8f9185f8485b46ab1516
This was broken before...
Time used to take centiseconds, so the nanoseconds should have been *divided* by 10^7 for conversion.
Now Time takes straight nanoseconds, so no conversion necessary.
Change-Id: Ibac3eeca7020c5d8c5ff4be3e7617fac26ee8180
As the recent regression after merging AOO patch adding code serializing
"long" variables has shown, this overload (which was added in
7b2a0e541567be9750dfc7d98374555967da3470) is a bad idea.
In a unxlngx build, nm finds uses of the symbols _ZN8SvStreamrsERl
and _ZN8SvStreamlsEl in these files:
- sbxvalue.cxx: this appears to be a legitimate use with sal_Int64
- dateitem.cxx: this was accidentally changed by commit
9830fd36dbdb72c79703b0c61efc027fba793c5a
- atrfrm.cxx: this was added for Table Autoformat enhancement in
7e8c0bd73ee59ff3041e55268c77203373962e51, which is after the
sal_Int64 operators were added, so the file format is now
platform dependent
Change-Id: I78352b5429b53612c4831cdb81b587b5de5180a9
Regression from cbd1a89676f39135ed2e9c47d20475b2053289b9, that commit
accidentally not only removed the #if 0 block, but also two other
braces -- because of this, in case bStorage was false, nothing was
saved. The effect of this was that if the user edited some macro in the
basic IDE, then saved the macro, it was shown as saved, but in fact that
didn't happen.
Change-Id: I20f8358dddfb226976be72f95dcad64de88d83c3
...recently introduced with c75a46fbd0ba4daf857fcd7d70badeed5aae8e28 "fdo#46808,
use DialogProvider service constructor." The general theme of this additional
ctor appears to be more about "Scripting" than "Listener," and the DialogLib
argument is actually expected to be of XNameContainer type.
Change-Id: Iea7d906d9b2ffc3b3ee5b2cbfaf7c58191037c9b
This reverts commit 6c61b20a8d4a6dcac28801cde82a211fb7e30654. As discussed at
<http://lists.freedesktop.org/archives/libreoffice/2013-May/052449.html> "Re:
fdo#46808, Convert awt::UnoControlDialogModel to new style problem" why the odd
change in 2e2a4827ce6708f0e8677dba9cc92e1479a44086 "scripting: get
CreateUnoDialog() work again" appears to fix things again:
The problem is that the implementation of the css.awt.UnoControlDialogModel
involves UNO aggregation
(IMPL_CREATE_INSTANCE_WITH_GEOMETRY(UnoControlDialogModel) in
toolkit/soruce/helper/registerservices.cxx creating a
OGeometryControlModel<UnoControlDialogModel> instance that aggregates a
UnoControlDialogModel instance). That means that queryInterface can return a
reference to something that is technically a different object, and that's
what's happening here, and explains why calling setPropertyValue in two
different ways on what logically appears to be a single object can end up
calling two different implementations (of two different physical objects).
(UNO aggregation is known to be broken and should not be used. Nevertheless,
there's still code that does---code that is a horrible mess and hard to clean
up.)
That all this worked as intended in the past is just sheer luck, but any
way of substantially touching it is asking for trouble. I'm going to
revert 6c61b20a8d4a6dcac28801cde82a211fb7e30654 again.
I wasn't able to revert without also reverting
be50ad28f5bbdaeff527f646481ce263843c2401 "fdo#46808, Convert
awt::XUnoControlDialog to new style," as the two were tightly dependant. Also
reverts all the follow-up fixes cb4b6dde8fda2a5848e11063028bf44d72f85431
"-Werror,-Wuninitialized" (sans the const-ness fix in
UpdateHandler::insertControlModel), 697a007c61b9cabceb9767fad87cd5822b300452
"Fix exception specifications," 2ce6828bbbf6ba181bb2276adeec279e74151ef6 "fix
awt::UnoControlModelDialog crash," and 2e2a4827ce6708f0e8677dba9cc92e1479a44086
"scripting: get CreateUnoDialog() work again."
Conflicts:
basctl/source/dlged/dlged.cxx
filter/source/t602/t602filter.cxx
xmlscript/test/imexp.cxx
Change-Id: I5d133468062f3ca36300db52fbd699be1ac72998