Hi,
> -----Original Message-----
> From: Tom Morris [mailto:[EMAIL PROTECTED]
> Sent: segunda-feira, 26 de Novembro de 2007 21:49
>
> We don't currently have a good way of allowing modules to add new
> details panels, but we know it's needed. How were you using
> ConfigLoader.loadTabs before? Were using using a custom argo.ini file
> or some other mechanism to change its behavior?
Yes, I was using argo.ini. Now I have added a method to DetailsPane that
handles it:
Public void addTab(AbstractArgoJPanel p) {
topLevelTabbedPane.addTab(p.getTitle(), p);
tabPanelList.add(p);
}
So, modules only have to do:
((DetailsPane) ProjectBrowser.getInstance().getDetailsPane())
.addTab(p);
I suggest this approach since using
((DetailsPane) ProjectBrowser.getInstance().getDetailsPane())
.getTabs().addTab(title, p);
does not work, because although the tab is added to the tabbed pane
(topLevelTabbedPane), there is an internal variable of DetailsPane
containing the list of tabs (tabPanelList) that is not updated. This
variable is used in many methods (probably for performance reasons, instead
of getting the TabbedPane contents everytime), and if not updated it causes
a NullPointerException.
The method I suggest, besides keeping the internal list updated/coherent, it
gets the title of the tab automatically and avoid exposing the tabbed pane.
> The profile subsystem wants to allow modules to be able to contribute
> profiles, I think, but I'm not sure that this should require a
> particular initialization order. In general, there's too much
> unnecessary coupling between different parts of the system making
> things like this very brittle. Everyone wants to be first (or last),
> making it difficult to keep them all happy.
Ok, I'm trying to make tab loading from modules to work with the current
init order.
I've solved the ToDoPanel problem and I wait for your input on the
compatibility with ArgoEclipse. Now the problem is that diagrams don't
show their toolbar. I'm trying to find why, but it is not being easy. Any
one has an idea?
Sergio.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]