This pointed me to right direction. I used to modify the toolchain
in configuration(s) I obtained through
ManagedBuildManager.getBuildInfo(project).getManagedProject().getConfigurations(),
which seems to be fine for example in a new project wizard (not sure
if it's correct, but it works).
CDT property pages get Configuration(s) through CDTPropertyManager
(in their getResDesc), and that's where I was able to get them from
(and modify them).
Thanks.
Branko
On 09/26/2011 06:41 PM, Andrew Gvozdev wrote:
ToolSettingsTab
works with current ICResourceDescription which it gets
via getResDesc() call. If you simply modify this resource
description (no need to save in the model) it will show on other
pages as they will refresh itself on getting focus. This
resource description gets copied to the model after "Apply" or
"OK" is called. You may need to propagate your data from the
settings configuration to one actually getting saved overriding
performApply() method if you subclass from AbstractCPropertyTab.
Andrew
On Mon, Sep 26, 2011 at 12:18 PM,
Branko Drevenšek <branko.drevensek@xxxxxxxxx>
wrote:
Hi, cdt-dev.
I have custom GNU based toolchain properly defined through
buldDefinitions extension point. As our compiler has a bunch
of CPU specific options, I'd like to simplify setting these
for users. I have few custom property page(s), where user
can select things like, for example, CPU endianness, and
this then offers user to automatically modify all
corresponding toolchain options.
For start I tried to automatically reconfigure compiler
switches on project (no folder/file specific settings yet).
I search for appropriate options through configurations and
modify them, similar to what's described here: http://dev.eclipse.org/mhonarc/lists/cdt-dev/msg11166.html.
This works, but if CDT tab (like ToolSettingsTab) has
already been displayed, it will show old values. Closing
project properties and reopening it shows modified values.
Also if "C/C++ build" / "Settings" page has not been shown
yet, proper values will be shown, when user opens it.
Calling ManagedBuildManager.saveBuildInfo or
CoreModel.getDefault().setProjectDescription makes no
difference. I tried to tell property pages to refresh by
using AbstractPage.informAll ( ICPropertyTab.UPDATE... ),
but this is not really it (does not work, does not seem to
be intended for that purpose).
Can somebody give me some hints what needs to be done so
programmatically set properties can be seen immediately? I
guess dialog shows some cached view, but how to make it
refresh?
Thanks.
Branko
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev
|