Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Refreshing project properties (again)

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.


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: 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?

cdt-dev mailing list

Back to the top