Class TableFrames
- java.lang.Object
-
- jmri.jmrit.beantable.oblock.TableFrames
-
- All Implemented Interfaces:
java.util.EventListener,javax.swing.event.InternalFrameListener,Disposable
public class TableFrames extends java.lang.Object implements javax.swing.event.InternalFrameListener, Disposable
GUI to define OBlocks.Core code can be used with two interfaces:
- original "desktop" InternalFrames (displays as InternalJFrames inside a JmriJFrame)
- JMRI standard Tabbed tables (displays as Js inside a ListedTableFrame)
This file is part of JMRI.JMRI is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. See the "COPYING" file for a copy of this license.
JMRI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classTableFrames.BlockPathFramestatic classTableFrames.BlockPathJPanelprotected static classTableFrames.PathTurnoutFrame********************* Path-Turnout Frame ***********************************protected static classTableFrames.PathTurnoutJPanel********************* Path-Turnout JPanel class for _tabbed *****************
-
Field Summary
Fields Modifier and Type Field Description static intROW_HEIGHTprotected static java.lang.StringSET_CLOSEDprotected static java.lang.StringSET_THROWNstatic intSTRUT_SIZE
-
Constructor Summary
Constructors Constructor Description TableFrames()TableFrames(java.lang.String actionName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidaddCloseListener(JmriJFrame desktop)javax.swing.JMenuBaraddMenus(javax.swing.JMenuBar mBar)protected voidaddTurnoutPane(OPath path, PathTurnoutTableModel pathTurnoutModel)Add new Turnout pane, called from makePathTurnoutPanel on _tabbed interface.protected javax.swing.JInternalFramebuildFrame(javax.swing.table.AbstractTableModel tableModel, java.lang.String title, java.lang.String prompt)Wrapper for shared code around each Table in a JInternal window on _desktop interface.voiddispose()Called when disposing of a disposable.protected voiddisposeBlockPathFrame(OBlock block)BlockPathTableModelgetBlockPathTableModel(OBlock block)protected JmriJFramegetDesktopFrame()Get the JFrame containig all UI windows.OBlockTableModelgetOblockTableModel()javax.swing.JMenugetOptionMenu()PortalTableModelgetPortalTableModel()BlockPortalTableModelgetPortalXRefTableModel()javax.swing.JMenugetPrintMenuItems(javax.swing.JTable oBlockTable, javax.swing.JTable portalTable, javax.swing.JTable signalTable, javax.swing.JTable blockPortalTable)SignalTableModelgetSignalTableModel()javax.swing.JMenugetTablesMenu()protected voidimportBlocks()Convert a copy of your current JMRI Blocks to OBlocks and connect them with Portals and Paths.voidinitComponents()voidinternalFrameActivated(javax.swing.event.InternalFrameEvent e)voidinternalFrameClosed(javax.swing.event.InternalFrameEvent e)voidinternalFrameClosing(javax.swing.event.InternalFrameEvent e)voidinternalFrameDeactivated(javax.swing.event.InternalFrameEvent e)voidinternalFrameDeiconified(javax.swing.event.InternalFrameEvent e)voidinternalFrameIconified(javax.swing.event.InternalFrameEvent e)voidinternalFrameOpened(javax.swing.event.InternalFrameEvent e)protected booleanisPathEdit()protected TableFrames.BlockPathJPanelmakeBlockPathEditPanel(OBlock block)protected TableFrames.BlockPathFramemakeBlockPathFrame(OBlock block)protected javax.swing.JTablemakeBlockPathTable(BlockPathTableModel _model)protected javax.swing.JPanelmakeBlockPathTablePanel(BlockPathTableModel _model)protected javax.swing.JTablemakeBlockPortalTable(BlockPortalTableModel model)protected javax.swing.JTablemakeOBlockTable(OBlockTableModel model)protected TableFrames.PathTurnoutFramemakePathTurnoutFrame(OBlock block, java.lang.String pathName)protected java.lang.StringmakePathTurnoutName(java.lang.String blockSysName, java.lang.String pathName)Create a coded id for a path turnout.protected TableFrames.PathTurnoutJPanelmakePathTurnoutPanel(OBlock block, java.lang.String pathName)protected javax.swing.JTablemakePathTurnoutTable(PathTurnoutTableModel model)protected javax.swing.JTablemakePortalTable(PortalTableModel model)protected javax.swing.JTablemakeSignalTable(SignalTableModel model)protected voidopenBlockPathFrame(java.lang.String blockSystemName)Open a block-specific Block-Path table in _desktop interface.voidopenBlockPathPane(java.lang.String blockSystemName, java.lang.String editorTabName)protected booleanopenOBlockEditor(java.lang.String blockSystemName, java.lang.String tabname)protected booleanopenPathEditor(java.lang.String blockName, java.lang.String pathName, BlockPathTableModel bpmodel)Open the Edit Path panel for _tabbed.protected voidopenPathTurnoutEditor(java.lang.String pathTurnoutName)Open a block-specific PathTurnouts edit pane as a JmriJFrame for _tabbed from menu.voidopenPathTurnoutEditPane(java.lang.String pathTurnoutName)protected voidopenPathTurnoutFrame(java.lang.String pathTurnoutName)Open a block-specific PathTurnouts table as a JInternalFrame for _desktop from BlockPathTableModelprotected voidsetPathEdit(boolean edit)protected voidsetShowWarnings(java.lang.String cmd)protected voidupdateOBlockTablesMenu()Fill in the Open/Hide Tables menu on tablesMenu.protected intverifyWarning(java.lang.String message)
-
-
-
Field Detail
-
ROW_HEIGHT
public static final int ROW_HEIGHT
-
STRUT_SIZE
public static final int STRUT_SIZE
- See Also:
- Constant Field Values
-
SET_CLOSED
protected static final java.lang.String SET_CLOSED
-
SET_THROWN
protected static final java.lang.String SET_THROWN
-
-
Constructor Detail
-
TableFrames
public TableFrames()
-
TableFrames
public TableFrames(java.lang.String actionName)
-
-
Method Detail
-
getOblockTableModel
public OBlockTableModel getOblockTableModel()
-
getPortalTableModel
public PortalTableModel getPortalTableModel()
-
getPortalXRefTableModel
public BlockPortalTableModel getPortalXRefTableModel()
-
getBlockPathTableModel
public BlockPathTableModel getBlockPathTableModel(OBlock block)
-
getSignalTableModel
public SignalTableModel getSignalTableModel()
-
initComponents
public void initComponents()
-
addMenus
public javax.swing.JMenuBar addMenus(javax.swing.JMenuBar mBar)
-
getPrintMenuItems
public javax.swing.JMenu getPrintMenuItems(javax.swing.JTable oBlockTable, javax.swing.JTable portalTable, javax.swing.JTable signalTable, javax.swing.JTable blockPortalTable)
-
getOptionMenu
public javax.swing.JMenu getOptionMenu()
-
getTablesMenu
public javax.swing.JMenu getTablesMenu()
-
getDesktopFrame
protected JmriJFrame getDesktopFrame()
Get the JFrame containig all UI windows.- Returns:
- the contentframe
-
importBlocks
protected void importBlocks() throws java.lang.IllegalArgumentException
Convert a copy of your current JMRI Blocks to OBlocks and connect them with Portals and Paths. Accessed from the Options menu.- Throws:
java.lang.IllegalArgumentException- exception
-
setShowWarnings
protected void setShowWarnings(java.lang.String cmd)
-
addCloseListener
void addCloseListener(JmriJFrame desktop)
-
updateOBlockTablesMenu
protected void updateOBlockTablesMenu()
Fill in the Open/Hide Tables menu on tablesMenu.
-
openPathTurnoutEditPane
public void openPathTurnoutEditPane(java.lang.String pathTurnoutName)
-
buildFrame
protected javax.swing.JInternalFrame buildFrame(javax.swing.table.AbstractTableModel tableModel, java.lang.String title, java.lang.String prompt)
Wrapper for shared code around each Table in a JInternal window on _desktop interface.- Parameters:
tableModel- underlying model for the tabletitle- text displayed as title of frameprompt- text below bottom line- Returns:
- iframe to put on _desktop interface
-
makeOBlockTable
protected javax.swing.JTable makeOBlockTable(OBlockTableModel model)
-
openOBlockEditor
protected boolean openOBlockEditor(java.lang.String blockSystemName, java.lang.String tabname)
-
openPathEditor
protected boolean openPathEditor(@Nonnull java.lang.String blockName, @CheckForNull java.lang.String pathName, BlockPathTableModel bpmodel)
Open the Edit Path panel for _tabbed. Compare with openOBlockEditor(block, selectedtabname) and OBlockTableAction.- Parameters:
blockName- system or user name of the owning oblockpathName- name of the path under edit, or null to create a new pathbpmodel- blockpathtablemodel that should be informed about changes- Returns:
- true if successful
-
makePortalTable
protected javax.swing.JTable makePortalTable(PortalTableModel model)
-
makeBlockPortalTable
protected javax.swing.JTable makeBlockPortalTable(BlockPortalTableModel model)
-
makeSignalTable
protected javax.swing.JTable makeSignalTable(SignalTableModel model)
-
openBlockPathPane
public void openBlockPathPane(java.lang.String blockSystemName, java.lang.String editorTabName)
-
openBlockPathFrame
protected void openBlockPathFrame(java.lang.String blockSystemName)
Open a block-specific Block-Path table in _desktop interface.- Parameters:
blockSystemName- of the OBlock
-
disposeBlockPathFrame
protected void disposeBlockPathFrame(OBlock block)
-
makeBlockPathFrame
protected TableFrames.BlockPathFrame makeBlockPathFrame(@Nonnull OBlock block)
-
makeBlockPathEditPanel
protected TableFrames.BlockPathJPanel makeBlockPathEditPanel(@Nonnull OBlock block)
-
setPathEdit
protected void setPathEdit(boolean edit)
-
isPathEdit
protected boolean isPathEdit()
-
dispose
public void dispose()
Description copied from interface:DisposableCalled when disposing of a disposable.Note there are no assurances this method will not be called multiple times against a single instance of this Disposable. It is the responsibility of this Disposable to protect itself and the application from ensuring that calling this method multiple times has no unwanted side effects.
- Specified by:
disposein interfaceDisposable
-
makeBlockPathTablePanel
protected javax.swing.JPanel makeBlockPathTablePanel(BlockPathTableModel _model)
-
makeBlockPathTable
protected javax.swing.JTable makeBlockPathTable(BlockPathTableModel _model)
-
makePathTurnoutFrame
protected TableFrames.PathTurnoutFrame makePathTurnoutFrame(OBlock block, java.lang.String pathName)
-
makePathTurnoutPanel
protected TableFrames.PathTurnoutJPanel makePathTurnoutPanel(@Nonnull OBlock block, @CheckForNull java.lang.String pathName)
-
makePathTurnoutTable
protected javax.swing.JTable makePathTurnoutTable(PathTurnoutTableModel model)
-
makePathTurnoutName
protected java.lang.String makePathTurnoutName(java.lang.String blockSysName, java.lang.String pathName)
Create a coded id for a path turnout.- Parameters:
blockSysName- oblock system namepathName- the path through the oblock for which to display turnouts set- Returns:
- name of the pathTurnout, example "%path 1-3&block-1"
-
openPathTurnoutFrame
protected void openPathTurnoutFrame(java.lang.String pathTurnoutName)
Open a block-specific PathTurnouts table as a JInternalFrame for _desktop from BlockPathTableModel- Parameters:
pathTurnoutName- name of turnout configured on Path
-
openPathTurnoutEditor
protected void openPathTurnoutEditor(java.lang.String pathTurnoutName)
Open a block-specific PathTurnouts edit pane as a JmriJFrame for _tabbed from menu. TODO fix menu access to pathturnouts on _tabbed in ListedTableView, single table menus OK- Parameters:
pathTurnoutName- name of turnout configured on Path
-
addTurnoutPane
protected void addTurnoutPane(OPath path, PathTurnoutTableModel pathTurnoutModel)
Add new Turnout pane, called from makePathTurnoutPanel on _tabbed interface.- Parameters:
path- to link this turnout setting topathTurnoutModel- displayed table of turnouts currently set on this path
-
verifyWarning
protected int verifyWarning(java.lang.String message)
-
internalFrameClosing
public void internalFrameClosing(javax.swing.event.InternalFrameEvent e)
- Specified by:
internalFrameClosingin interfacejavax.swing.event.InternalFrameListener
-
internalFrameClosed
public void internalFrameClosed(javax.swing.event.InternalFrameEvent e)
- Specified by:
internalFrameClosedin interfacejavax.swing.event.InternalFrameListener
-
internalFrameOpened
public void internalFrameOpened(javax.swing.event.InternalFrameEvent e)
- Specified by:
internalFrameOpenedin interfacejavax.swing.event.InternalFrameListener
-
internalFrameIconified
public void internalFrameIconified(javax.swing.event.InternalFrameEvent e)
- Specified by:
internalFrameIconifiedin interfacejavax.swing.event.InternalFrameListener
-
internalFrameDeiconified
public void internalFrameDeiconified(javax.swing.event.InternalFrameEvent e)
- Specified by:
internalFrameDeiconifiedin interfacejavax.swing.event.InternalFrameListener
-
internalFrameActivated
public void internalFrameActivated(javax.swing.event.InternalFrameEvent e)
- Specified by:
internalFrameActivatedin interfacejavax.swing.event.InternalFrameListener
-
internalFrameDeactivated
public void internalFrameDeactivated(javax.swing.event.InternalFrameEvent e)
- Specified by:
internalFrameDeactivatedin interfacejavax.swing.event.InternalFrameListener
-
-