Skip to content

Commit

Permalink
add first MVC view classes, not filled out yet
Browse files Browse the repository at this point in the history
  • Loading branch information
bobjacobsen committed Apr 30, 2020
1 parent a7123bd commit c8288e1
Show file tree
Hide file tree
Showing 3 changed files with 125 additions and 0 deletions.
50 changes: 50 additions & 0 deletions java/src/jmri/jmrit/display/layoutEditor/LayoutTrackView.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package jmri.jmrit.display.layoutEditor;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.geom.*;
import java.util.*;
import javax.annotation.*;
import javax.swing.JPopupMenu;
import jmri.*;
import jmri.util.*;

/**
* MVC View component for the LayoutTrack hierarchy.
*
* @author Bob Jacobsen Copyright (c) 2020
*
*/
public class LayoutTrackView {

/**
* constructor method
*/
public LayoutTrackView(@Nonnull LayoutTrack track) {
this.layoutTrack = track;
}

final private LayoutTrack layoutTrack;

// These now reflect to code in the base class; eventually this heirarchy will
// expand and the code will be brought here

protected void draw1(Graphics2D g2, boolean isMain, boolean isBlock) {
layoutTrack.draw1(g2, isMain, isBlock);
}

protected void draw2(Graphics2D g2, boolean isMain, float railDisplacement) {
layoutTrack.draw2(g2, isMain, railDisplacement);
}

protected void drawDecorations(Graphics2D g2) {
layoutTrack.drawDecorations(g2);
}

public boolean isHidden() {
return layoutTrack.isHidden();
}

// private final static org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LayoutTrackView.class);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package jmri.jmrit.display.layoutEditor;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.geom.*;
import java.util.*;
import javax.annotation.*;
import javax.swing.JPopupMenu;
import jmri.*;
import jmri.util.*;

/**
* MVC View component for the PositionablePoint class.
*
* @author Bob Jacobsen Copyright (c) 2020
*
*/
public class PositionablePointView extends LayoutTrackView {

/**
* constructor method
*/
public PositionablePointView(@Nonnull PositionablePoint point) {
super(point);
this.positionablePoint = point;
}

final private PositionablePoint positionablePoint;

// These now reflect to code in the base class; eventually this heirarchy will
// expand and the code will be brought here

protected void draw1(Graphics2D g2, boolean isMain, boolean isBlock) {
positionablePoint.draw1(g2, isMain, isBlock);
}

// private final static org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(PositionablePointView.class);
}
36 changes: 36 additions & 0 deletions java/src/jmri/jmrit/display/layoutEditor/TrackSegmentView.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package jmri.jmrit.display.layoutEditor;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.geom.*;
import java.util.*;
import javax.annotation.*;
import javax.swing.JPopupMenu;
import jmri.*;
import jmri.util.*;

/**
* MVC View component for the TrackSegment class.
*
* @author Bob Jacobsen Copyright (c) 2020
*
*/
public class TrackSegmentView extends LayoutTrackView {

/**
* constructor method
*/
public TrackSegmentView(@Nonnull TrackSegment track) {
super(track);
this.trackSegment = track;
}

final private TrackSegment trackSegment;

protected boolean isDashed() {
return trackSegment.isDashed();
}

// private final static org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(TrackSegmentView.class);
}

0 comments on commit c8288e1

Please sign in to comment.