org::scilab::modules::gui::bridge::tab::SwingScilabTab Class Reference

Inheritance diagram for org::scilab::modules::gui::bridge::tab::SwingScilabTab:

Inheritance graph
[legend]
Collaboration diagram for org::scilab::modules::gui::bridge::tab::SwingScilabTab:

Collaboration graph
[legend]

Public Member Functions

 SwingScilabTab (String name)
void repaint ()
void setName (String newTabName)
String getName ()
void paintImmediately ()
void draw ()
Size getDims ()
Position getPosition ()
void setDims (Size newSize)
void setPosition (Position newPosition)
int addMember (Canvas member)
int addMember (Console member)
int addMember (HelpBrowser member)
int addMember (Frame member)
void removeMember (Frame member)
int addMember (PushButton member)
void removeMember (PushButton member)
int addMember (EditBox member)
void removeMember (EditBox member)
int addMember (Label member)
void removeMember (Label member)
int addMember (CheckBox member)
void removeMember (CheckBox member)
int addMember (RadioButton member)
void removeMember (RadioButton member)
int addMember (Slider member)
void removeMember (Slider member)
int addMember (ListBox member)
void removeMember (ListBox member)
int addMember (PopupMenu member)
void removeMember (PopupMenu member)
int addMember (Dockable member)
void removeMember (Canvas member)
void removeMember (ScrolledSwingScilabCanvas member)
boolean isCurrentTab ()
int getParentWindowId ()
void setParentWindowId (int id)
void setMenuBar (MenuBar newMenuBar)
MenuBar getMenuBar ()
void setToolBar (ToolBar newToolBar)
ToolBar getToolBar ()
void setInfoBar (TextBox newInfoBar)
TextBox getInfoBar ()
void setCallback (CallBack callback)
void close ()
void setCurrent ()

Private Member Functions

int addMember (ScrolledSwingScilabCanvas member)
int addMember (SwingScilabConsole member)
int addMember (SwingScilabHelpBrowser member)
int addMember (SwingScilabFrame member)
void removeMember (SwingScilabFrame member)
int addMember (SwingScilabPushButton member)
void removeMember (SwingScilabPushButton member)
int addMember (SwingScilabEditBox member)
void removeMember (SwingScilabEditBox member)
int addMember (SwingScilabLabel member)
void removeMember (SwingScilabLabel member)
int addMember (SwingScilabCheckBox member)
void removeMember (SwingScilabCheckBox member)
int addMember (SwingScilabRadioButton member)
void removeMember (SwingScilabRadioButton member)
int addMember (SwingScilabSlider member)
void removeMember (SwingScilabSlider member)
int addMember (SwingScilabListBox member)
void removeMember (SwingScilabListBox member)
int addMember (SwingScilabPopupMenu member)
void removeMember (SwingScilabPopupMenu member)

Private Attributes

int parentWindowId
MenuBar menuBar
ToolBar toolBar
TextBox infoBar

Static Private Attributes

static final long serialVersionUID = 1L
static final int TOP_LAYER = 0
static final int BOTTOM_LAYER = 1

Detailed Description

Swing implementation for Scilab tabs in GUIs This implementation uses FlexDock package
Author:
Bruno JOFRET

Vincent COUVERT

Marouane BEN JELLOUL

Definition at line 69 of file SwingScilabTab.java.


Constructor & Destructor Documentation

org::scilab::modules::gui::bridge::tab::SwingScilabTab::SwingScilabTab ( String  name  )  [inline]

Constructor

Parameters:
name the name of the tab (used to identify it)

Definition at line 89 of file SwingScilabTab.java.

00089                                            {
00090                 super(name, name, name);
00091                 // This button is "overloaded" when we add a callback
00092                 //this.addAction(DockingConstants.CLOSE_ACTION);
00093                 // Removed because make JOGL crash when "Unpin"
00094                 //this.addAction(DockingConstants.PIN_ACTION);
00095                 this.addAction(DockingConstants.ACTIVE_WINDOW);
00096                 
00097                 this.setLayout(null);
00098         }


Member Function Documentation

void org::scilab::modules::gui::bridge::tab::SwingScilabTab::repaint (  )  [inline]

Repaint it

Definition at line 103 of file SwingScilabTab.java.

References getInfoBar(), getMenuBar(), getName(), getParentWindowId(), and getToolBar().

00103                               {
00104                 super.repaint();
00105                 if (isActive()) {
00106                         BarUpdater.updateBars(getParentWindowId(), getMenuBar(), getToolBar(), getInfoBar(), getName());
00107                 }
00108         }

Here is the call graph for this function:

void org::scilab::modules::gui::bridge::tab::SwingScilabTab::setName ( String  newTabName  )  [inline]

Sets the Name of a swing Scilab tab

Parameters:
newTabName the Name of the tab
See also:
org.scilab.modules.gui.tab.Tab::setName()

Implements org::scilab::modules::gui::tab::SimpleTab.

Definition at line 115 of file SwingScilabTab.java.

References getInfoBar(), getMenuBar(), getName(), getParentWindowId(), and getToolBar().

00115                                                {
00116                 setTitle(newTabName, true);
00117                 if (isActive()) {
00118                         BarUpdater.updateBars(getParentWindowId(), getMenuBar(), getToolBar(), getInfoBar(), getName());
00119                 }
00120         }

Here is the call graph for this function:

String org::scilab::modules::gui::bridge::tab::SwingScilabTab::getName (  )  [inline]

Gets the title of a swing Scilab tab

Returns:
the title of the tab
See also:
org.scilab.modules.gui.tab.Tab::getTitle()

Implements org::scilab::modules::gui::tab::SimpleTab.

Definition at line 127 of file SwingScilabTab.java.

Referenced by paintImmediately(), repaint(), and setName().

00127                                 {
00128                 return this.getTitle();
00129         }

Here is the caller graph for this function:

void org::scilab::modules::gui::bridge::tab::SwingScilabTab::paintImmediately (  )  [inline]

Paint immediately this component

Definition at line 134 of file SwingScilabTab.java.

References getInfoBar(), getMenuBar(), getName(), getParentWindowId(), and getToolBar().

Referenced by draw().

00134                                        {
00135                 // paint all
00136                 paintImmediately(0, 0, getWidth(), getHeight());
00137                 if (isActive()) {
00138                         BarUpdater.updateBars(getParentWindowId(), getMenuBar(), getToolBar(), getInfoBar(), getName());
00139                 }
00140         }

Here is the call graph for this function:

Here is the caller graph for this function:

void org::scilab::modules::gui::bridge::tab::SwingScilabTab::draw (  )  [inline]

Draws a swing Scilab tab

See also:
org.scilab.modules.gui.uielement.UIElement::draw()

Implements org::scilab::modules::gui::tab::SimpleTab.

Definition at line 146 of file SwingScilabTab.java.

References paintImmediately(), run(), and org::scilab::modules::gui::tab::SimpleTab::setVisible().

00146                            {
00147                 
00148                 // TODO this is a temporary patch
00149                 if (SwingUtilities.isEventDispatchThread()) {
00150                         setVisible(true);
00151                         doLayout();
00152                         paintImmediately();
00153                 } else {
00154                         try {
00155                                 SwingUtilities.invokeAndWait(new Runnable() {
00156                                         public void run() {
00157                                                 setVisible(true);
00158                                                 doLayout();
00159                                                 paintImmediately();
00160                                         }
00161                                 });
00162                         } catch (InterruptedException e) {
00163                                 e.printStackTrace();
00164                         } catch (InvocationTargetException e) {
00165                                 e.printStackTrace();
00166                         }
00167                 }
00168                 
00169         }

Here is the call graph for this function:

Size org::scilab::modules::gui::bridge::tab::SwingScilabTab::getDims (  )  [inline]

Gets the dimensions (width and height) of a swing Scilab tab

Returns:
the dimensions of the tab
See also:
org.scilab.modules.gui.uielement.UIElement::getDims()

Implements org::scilab::modules::gui::tab::SimpleTab.

Definition at line 176 of file SwingScilabTab.java.

References width.

Referenced by org::scilab::modules::gui::utils::SciUndockingAction::actionPerformed(), org::scilab::modules::gui::utils::PositionConverter::javaToScilab(), and org::scilab::modules::gui::utils::PositionConverter::scilabToJava().

00176                               {
00177                 return new Size(this.getSize().width, this.getSize().height);
00178         }

Here is the caller graph for this function:

Position org::scilab::modules::gui::bridge::tab::SwingScilabTab::getPosition (  )  [inline]

Gets the position (X-coordinate and Y-coordinate) of a swing Scilab tab

Returns:
the position of the tab
See also:
org.scilab.modules.gui.uielement.UIElement::getPosition()

Implements org::scilab::modules::gui::tab::SimpleTab.

Definition at line 185 of file SwingScilabTab.java.

00185                                       {
00186                 return new Position(this.getX(), this.getY());
00187         }

void org::scilab::modules::gui::bridge::tab::SwingScilabTab::setDims ( Size  newSize  )  [inline]

Sets the dimensions (width and height) of a swing Scilab tab

Parameters:
newSize the dimensions we want to set to the tab
See also:
org.scilab.modules.gui.uielement.UIElement::setDims(org.scilab.modules.gui.utils.Size)

Implements org::scilab::modules::gui::tab::SimpleTab.

Definition at line 194 of file SwingScilabTab.java.

References org::scilab::modules::gui::utils::Size::getHeight(), and org::scilab::modules::gui::utils::Size::getWidth().

00194                                           {
00195                 this.setSize(newSize.getWidth(), newSize.getHeight());
00196         }

Here is the call graph for this function:

void org::scilab::modules::gui::bridge::tab::SwingScilabTab::setPosition ( Position  newPosition  )  [inline]

Sets the position (X-coordinate and Y-coordinate) of a swing Scilab tab

Parameters:
newPosition the position we want to set to the tab
See also:
org.scilab.modules.gui.uielement.UIElement::setPosition(org.scilab.modules.gui.utils.Position)

Implements org::scilab::modules::gui::tab::SimpleTab.

Definition at line 203 of file SwingScilabTab.java.

References org::scilab::modules::gui::utils::Position::getX(), and org::scilab::modules::gui::utils::Position::getY().

00203                                                       {
00204                 this.setLocation(newPosition.getX(), newPosition.getY());
00205         }

Here is the call graph for this function:

int org::scilab::modules::gui::bridge::tab::SwingScilabTab::addMember ( Canvas  member  )  [inline]

Add a member (dockable element) to container and returns its index

Parameters:
member the member to add
Returns:
index of member in ArrayList

Implements org::scilab::modules::gui::tab::SimpleTab.

Definition at line 212 of file SwingScilabTab.java.

References org::scilab::modules::gui::canvas::Canvas::getAsSimpleCanvas().

00212                                             {
00213                 // TODO : Check wether we want a Canvas in a Tab or not.
00214                 return this.addMember((ScrolledSwingScilabCanvas) member.getAsSimpleCanvas());
00215         }

Here is the call graph for this function:

int org::scilab::modules::gui::bridge::tab::SwingScilabTab::addMember ( ScrolledSwingScilabCanvas  member  )  [inline, private]

Add a member (dockable element) to container and returns its index

Parameters:
member the member to add
Returns:
index of member in ArrayList

Definition at line 222 of file SwingScilabTab.java.

00222                                                                 {
00223                 // TODO : Check wether we want a Canvas in a Tab or not.
00224                 this.setContentPane(member);
00225                 return this.getComponentZOrder(member);
00226         }

int org::scilab::modules::gui::bridge::tab::SwingScilabTab::addMember ( Console  member  )  [inline]

Add a member (dockable element) to container and returns its index

Parameters:
member the member to add
Returns:
index of member in ArrayList

Implements org::scilab::modules::gui::tab::SimpleTab.

Definition at line 233 of file SwingScilabTab.java.

References org::scilab::modules::gui::console::Console::getAsSimpleConsole().

00233                                              {
00234                 return this.addMember((SwingScilabConsole) member.getAsSimpleConsole());
00235         }

Here is the call graph for this function:

int org::scilab::modules::gui::bridge::tab::SwingScilabTab::addMember ( SwingScilabConsole  member  )  [inline, private]

Add a member (dockable element) to container and returns its index

Parameters:
member the member to add
Returns:
index of member in ArrayList

Definition at line 242 of file SwingScilabTab.java.

00242                                                          {
00243                 this.setContentPane(member);
00244                 return this.getComponentZOrder(member);
00245         }

int org::scilab::modules::gui::bridge::tab::SwingScilabTab::addMember ( HelpBrowser  member  )  [inline]

Add a member (dockable element) to container and returns its index

Parameters:
member the member to add
Returns:
index of member in ArrayList

Implements org::scilab::modules::gui::tab::SimpleTab.

Definition at line 252 of file SwingScilabTab.java.

References org::scilab::modules::gui::helpbrowser::HelpBrowser::getAsSimpleHelpBrowser().

00252                                                  {
00253                 return this.addMember((SwingScilabHelpBrowser) member.getAsSimpleHelpBrowser());
00254         }

Here is the call graph for this function:

int org::scilab::modules::gui::bridge::tab::SwingScilabTab::addMember ( SwingScilabHelpBrowser  member  )  [inline, private]

Add a member (dockable element) to container and returns its index

Parameters:
member the member to add
Returns:
index of member in ArrayList

Definition at line 261 of file SwingScilabTab.java.

00261                                                              {
00262                 this.setContentPane(member);
00263                 return this.getComponentZOrder(member);
00264         }

int org::scilab::modules::gui::bridge::tab::SwingScilabTab::addMember ( Frame  member  )  [inline]

Add a member (dockable element) to container and returns its index

Parameters:
member the member to add
Returns:
index of member in ArrayList

Implements org::scilab::modules::gui::tab::SimpleTab.

Definition at line 271 of file SwingScilabTab.java.

References org::scilab::modules::gui::frame::Frame::getAsSimpleFrame().

00271                                            {
00272                 return this.addMember((SwingScilabFrame) member.getAsSimpleFrame());
00273         }

Here is the call graph for this function:

int org::scilab::modules::gui::bridge::tab::SwingScilabTab::addMember ( SwingScilabFrame  member  )  [inline, private]

Add a member (dockable element) to container and returns its index

Parameters:
member the member to add
Returns:
index of member in ArrayList

Definition at line 280 of file SwingScilabTab.java.

References BOTTOM_LAYER.

00280                                                        {
00281                 this.add(member);
00282                 setComponentZOrder(member, BOTTOM_LAYER);
00283                 return this.getComponentZOrder(member);
00284         }

void org::scilab::modules::gui::bridge::tab::SwingScilabTab::removeMember ( Frame  member  )  [inline]

Remove a Frame from its container

Parameters:
member the Frame to remove

Implements org::scilab::modules::gui::tab::SimpleTab.

Definition at line 290 of file SwingScilabTab.java.

References org::scilab::modules::gui::frame::Frame::getAsSimpleFrame().

00290                                                {
00291                 this.removeMember((SwingScilabFrame) member.getAsSimpleFrame());
00292         }

Here is the call graph for this function:

void org::scilab::modules::gui::bridge::tab::SwingScilabTab::removeMember ( SwingScilabFrame  member  )  [inline, private]

Remove a Frame from its container

Parameters:
member the Frame to remove

Definition at line 298 of file SwingScilabTab.java.

References i.

00298                                                            {
00299                 Component[] component = getComponents();
00300                 synchronized (getTreeLock()) {
00301                 for (int i = 0; i < getComponentCount(); ++i) {
00302                     if (component[i] == member) {
00303                         remove(i);
00304                         break;
00305                       }
00306                   }
00307               }
00308                 this.revalidate(); // If do not revalidate then the component do not disappear
00309         }

int org::scilab::modules::gui::bridge::tab::SwingScilabTab::addMember ( PushButton  member  )  [inline]

Add a member (dockable element) to container and returns its index

Parameters:
member the member to add
Returns:
index of member in ArrayList

Implements org::scilab::modules::gui::tab::SimpleTab.

Definition at line 316 of file SwingScilabTab.java.

References org::scilab::modules::gui::pushbutton::PushButton::getAsSimplePushButton().

00316                                                 {
00317                 return this.addMember((SwingScilabPushButton) member.getAsSimplePushButton());
00318         }

Here is the call graph for this function:

int org::scilab::modules::gui::bridge::tab::SwingScilabTab::addMember ( SwingScilabPushButton  member  )  [inline, private]

Add a member (dockable element) to container and returns its index

Parameters:
member the member to add
Returns:
index of member in ArrayList

Definition at line 325 of file SwingScilabTab.java.

References TOP_LAYER.

00325                                                             {
00326                 this.add(member);
00327                 this.revalidate(); // If do not revalidate then the component do not appear
00328                 setComponentZOrder(member, TOP_LAYER);
00329                 return this.getComponentZOrder(member);
00330         }

void org::scilab::modules::gui::bridge::tab::SwingScilabTab::removeMember ( PushButton  member  )  [inline]

Remove a PushButton from its container

Parameters:
member the PushButton to remove

Implements org::scilab::modules::gui::tab::SimpleTab.

Definition at line 336 of file SwingScilabTab.java.

References org::scilab::modules::gui::pushbutton::PushButton::getAsSimplePushButton().

00336                                                     {
00337                 this.removeMember((SwingScilabPushButton) member.getAsSimplePushButton());
00338         }

Here is the call graph for this function:

void org::scilab::modules::gui::bridge::tab::SwingScilabTab::removeMember ( SwingScilabPushButton  member  )  [inline, private]

Remove a PushButton from its container

Parameters:
member the PushButton to remove

Definition at line 344 of file SwingScilabTab.java.

References i.

00344                                                                 {
00345                 Component[] component = getComponents();
00346                 synchronized (getTreeLock()) {
00347                 for (int i = 0; i < getComponentCount(); ++i) {
00348                     if (component[i] == member) {
00349                         remove(i);
00350                         break;
00351                       }
00352                   }
00353               }
00354                 this.revalidate(); // If do not revalidate then the component do not disappear
00355         }

int org::scilab::modules::gui::bridge::tab::SwingScilabTab::addMember ( EditBox  member  )  [inline]

Add a member (dockable element) to container and returns its index

Parameters:
member the member to add
Returns:
index of member in ArrayList

Implements org::scilab::modules::gui::tab::SimpleTab.

Definition at line 362 of file SwingScilabTab.java.

References org::scilab::modules::gui::editbox::EditBox::getAsSimpleEditBox().

00362                                              {
00363                 return this.addMember((SwingScilabEditBox) member.getAsSimpleEditBox());
00364         }

Here is the call graph for this function:

int org::scilab::modules::gui::bridge::tab::SwingScilabTab::addMember ( SwingScilabEditBox  member  )  [inline, private]

Add a member (dockable element) to container and returns its index

Parameters:
member the member to add
Returns:
index of member in ArrayList

Definition at line 371 of file SwingScilabTab.java.

References TOP_LAYER.

00371                                                          {
00372                 this.add(member);
00373                 this.revalidate(); // If do not revalidate then the component do not appear
00374                 setComponentZOrder(member, TOP_LAYER);
00375                 return this.getComponentZOrder(member);
00376         }

void org::scilab::modules::gui::bridge::tab::SwingScilabTab::removeMember ( EditBox  member  )  [inline]

Remove an EditBox from its container

Parameters:
member the EditBox to remove

Implements org::scilab::modules::gui::tab::SimpleTab.

Definition at line 382 of file SwingScilabTab.java.

References org::scilab::modules::gui::editbox::EditBox::getAsSimpleEditBox().

00382                                                  {
00383                 this.removeMember((SwingScilabEditBox) member.getAsSimpleEditBox());
00384         }

Here is the call graph for this function:

void org::scilab::modules::gui::bridge::tab::SwingScilabTab::removeMember ( SwingScilabEditBox  member  )  [inline, private]

Remove an EditBox from its container

Parameters:
member the EditBox to remove

Definition at line 390 of file SwingScilabTab.java.

References i.

00390                                                              {