Interface WindowInterface

All Known Implementing Classes:
AbstractAudioFrame, AbstractMonFrame, AbstractPacketGenFrame, AbstractRouteAddEditFrame, AcelaMonFrame, AcelaPacketGenFrame, AddEntryExitPairFrame, AddNodeFrame, AddSignalMastJFrame, AlignTableFrame, AlternateTrackFrame, AnalogClockFrame, AppsLaunchFrame, AudioBufferFrame, AudioListenerFrame, AudioSourceFrame, AudioTableFrame, AutomationCopyFrame, AutomationsTableFrame, AutomationTableFrame, AutomatTableFrame, AutoTrainsFrame, BeanTableFrame, BlockBossFrame, BlockPathEditFrame, BuildReportOptionFrame, CarAttributeEditFrame, CarEditFrame, CarLoadEditFrame, CarSetFrame, CarsSetFrame, CarsTableFrame, CbusEventHighlightFrame, CbusFilterFrame, CbusNodeEditEventFrame, CbusNodeRestoreFcuFrame, ChangeDepartureTimesFrame, ChangeTrackFrame, ChangeTracksFrame, CircuitBuilder.CBFrame, CMRInetManagerFrame, CMRInetMetricsFrame, ConditionalCopyFrame, ConditionalEditFrame, ConditionalFrame, ConfigBaseStationFrame, ConsistToolFrame, ControllerFilterFrame, ControlPanelEditor, CoordinateEdit, DataSource, DebuggerFrame, DecoderPro3Window, DiagnosticFrame, DispatcherFrame, DisplayFrame, DrawCircle, DrawEllipse, DrawFrame, DrawPolygon, DrawRectangle, DrawRoundRect, DualDecoderSelectFrame, EasyDccMonFrame, EasyDccPacketGenFrame, EditCircuitFrame, EditCircuitPaths, EditFrame, EditManifestHeaderTextFrame, EditManifestTextFrame, EditNodeFrame, Editor, Editor.JFrameItem, EditorFrame, EditPortalDirection, EditPortalFrame, EditSignalFrame, EditSwitchListTextFrame, EngineAttributeEditFrame, EngineEditFrame, EngineSetFrame, EnginesTableFrame, FollowerFrame, HexFileFrame, IconDialog, IgnoreUsedTrackFrame, ImageIndexEditor, IndicatorTOIconDialog, InterchangeEditFrame, ItemDialog, ItemPalette, JFrameInterface, JmriJFrame, JmriJFrameInterface, JmriJInternalFrameInterface, JmriServerFrame, JmriSRCPServerFrame, LayoutEditor, LcdClockFrame, LearnThrottleFrame, LI101Frame, ListedTableFrame, ListFrame, ListFrame, LIUSBConfigFrame, LnTcpServerFrame, LoaderFrame, LocationCopyFrame, LocationEditFrame, LocationsByCarLoadFrame, LocationsByCarTypeFrame, LocationsTableFrame, LocationTrackBlockingOrderFrame, LogFrame, LogFrame, LV102Frame, LZ100Frame, LZV100Frame, ManageLocationsFrame, MastBuilderPane, MdiMainFrame, MemoryIconCoordinateEdit, MeterFrame, MonitorFrame, MultiPaneWindow, MultiSensorIconDialog, MultiSensorIconFrame, NixieClockFrame, NodeConfigFrame, NodeConfigFrame, NodeConfigFrame, NodeConfigFrame, NodeConfigFrame, NodeConfigFrame, NodeConfigFrame, NodeConfigManagerFrame, NodeIOListFrame, NodeTableFrame, NXFrame, OBlockTableFrame, OperationsFrame, OperationsSetupFrame, OptionFrame, OsIndicatorFrame, PacketGenFrame, PacketGenFrame, PacketGenFrame, PacketGenFrame, PacketGenFrame, PacketGenFrame, PacketGenFrame, PacketGenFrame, PacketTableFrame, PanedInterface, PanelEditor, PanelProFrame, PaneOpsProgFrame, PaneProgFrame, PaneServiceProgFrame, PickFrame, PollTableFrame, PoolTrackFrame, PortalEditFrame, PowerPanelFrame, PragotronClockFrame, PreferencesFrame, PrintCarRosterAction.CarPrintOptionFrame, PrintEngineRosterAction.EnginePrintOptionFrame, PrintLocationsAction.LocationPrintOptionFrame, PrintMoreOptionFrame, PrintOptionFrame, ProtocolOptionsFrame, QsiMonFrame, RenumberFrame, ReportFrame, RollingStockAttributeEditFrame, RollingStockEditFrame, RollingStockSetFrame, RosterFrame, RosterGroupTableFrame, RouteAddFrame, RouteCopyFrame, RouteEditFrame, RouteEditFrame, RoutesTableFrame, RpsMonFrame, RpsTrackingFrame, ScheduleCopyFrame, ScheduleEditFrame, ScheduleOptionsFrame, SchedulesByLoadFrame, SchedulesTableFrame, SendPacketFrame, SensorGroupFrame, SensorTextEdit, SerialFilterFrame, SerialMonFrame, SerialMonFrame, SerialMonFrame, SerialMonFrame, SerialMonFrame, SerialMonFrame, SerialPacketGenFrame, SerialPacketGenFrame, SerialPacketGenFrame, SerialPacketGenFrame, SerialPacketGenFrame, SerialPacketGenFrame, SerialPacketGenFrame, ServerFrame, SetPhysicalLocationFrame, SetTrainIconPositionFrame, SetTrainIconRouteFrame, SetupExcelProgramFrame, SetupExcelProgramManifestFrame, SetupExcelProgramSwitchListFrame, ShowCarsInTrainFrame, ShowTrainsServingLocationFrame, SignalEditFrame, SignalHeadIconDialog, SignallingFrame, SignallingSourceFrame, SignalMastRepeaterJFrame, SimpleClockFrame, SimpleLightCtrlFrame, SimpleProgFrame, SimpleServerFrame, SimpleTurnoutCtrlFrame, SlipTurnoutTextEdit, SoundSetFrame, SpeedoConsoleFrame, SpeedometerFrame, SpeedProfileFrame, SpeedProfileTable, SprogCbusModeSwitcherFrame, SprogCbusSimpleModeSwitcherFrame, SprogCbusSprog3PlusModeSwitcherFrame, SprogConsoleFrame, SprogHexFile, SprogIIUpdateFrame, SprogMonFrame, SprogPacketGenFrame, SprogSlotMonFrame, SprogUpdateFrame, SprogVersionFrame, SpurEditFrame, StackMonFrame, StagingEditFrame, StatusFrame, SwitchboardEditor, SystemInfoFrame, TabbedPreferencesFrame, ThreePaneTLRWindow, ThrottleWindow, TieToolFrame, TimeTableFrame, TrackCopyFrame, TrackDestinationEditFrame, TrackEditCommentsFrame, TrackEditFrame, TrackerTableAction.TableFrame, TrackLoadEditFrame, TrackRoadEditFrame, TrainByCarTypeFrame, TrainConductorFrame, TrainCopyFrame, TrainEditBuildOptionsFrame, TrainEditFrame, TrainLoadOptionsFrame, TrainManifestOptionFrame, TrainRoadOptionsFrame, TrainsByCarTypeFrame, TrainScriptFrame, TrainsScheduleEditFrame, TrainsScheduleTableFrame, TrainsScriptFrame, TrainsTableFrame, TrainsTableSetColorFrame, TrainSwitchListEditFrame, TreeFrame, TwoPaneTBWindow, UsbBrowserFrame, UserInterface, VSDManagerFrame, WarrantFrame, WarrantRoute, WarrantTableFrame, WhereUsedFrame, XBeeAddNodeFrame, XBeeEditNodeFrame, XBeeNodeConfigFrame, XpaConfigureFrame, XpaPacketGenFrame, YardEditFrame, YardmasterByTrackFrame, YardmasterFrame, Z21ConfigFrame

public interface WindowInterface
Interface for an object that can arrange for a JmriPanel to be displayed.

Typically used by some component that wants to display a pane (for example, in an independent JmriJFrame or as part of a paned interface) to do some more stuff. Rather than have the component build its own window, etc it invokes one of these, so that the position and display of that component can be controlled.

Any JmriAbstractAction that uses the show() method will have its dispose() invoked when the associated frame goes away. It should dispose() any cached panes at that time.

Since:
2.9.4
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Interface Description
    static class  WindowInterface.Hint
    Suggested location for subsequent panels
  • Method Summary

    Modifier and Type Method Description
    void dispose()  
    Frame getFrame()
    Returns the WindowInterface as a Frame or null.
    boolean multipleInstances()
    Should 2nd and subsequent requests for a panel create a new instance, or provide the 1st one for reuse?
    void show​(JmriPanel child, JmriAbstractAction action)
    Show, in whatever way is appropriate, a specific JmriPanel
    void show​(JmriPanel child, JmriAbstractAction action, WindowInterface.Hint hint)
    Show, in whatever way is appropriate, a specific JmriPanel, in a hinted location
  • Method Details

    • show

      void show​(JmriPanel child, JmriAbstractAction action)
      Show, in whatever way is appropriate, a specific JmriPanel
      Parameters:
      child - new JmriPanel to show
      action - JmriAbstractAction making the request
    • show

      void show​(JmriPanel child, JmriAbstractAction action, WindowInterface.Hint hint)
      Show, in whatever way is appropriate, a specific JmriPanel, in a hinted location
      Parameters:
      child - new JmriPanel to show
      action - JmriAbstractAction making the request
      hint - suggestion on where to put the content
    • multipleInstances

      Should 2nd and subsequent requests for a panel create a new instance, or provide the 1st one for reuse?
      Returns:
      true if multiple instances should be provided, false if only one should be provided
    • dispose

      void dispose()
    • getFrame

      Returns the WindowInterface as a Frame or null.
      Returns:
      a Frame or null