Skip to content

Commit 21f3cfd

Browse files
committed
Merge pull request #90 from ProgrammingLife3/feat/changeZoomSteps
feat/changeZoomSteps
2 parents 12f0ae2 + 0ffbe15 commit 21f3cfd

File tree

4 files changed

+17
-14
lines changed

4 files changed

+17
-14
lines changed

src/main/java/tudelft/ti2806/pl3/visualization/GraphController.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
package tudelft.ti2806.pl3.visualization;
22

33
import tudelft.ti2806.pl3.Controller;
4-
import tudelft.ti2806.pl3.data.gene.Gene;
5-
import tudelft.ti2806.pl3.util.observers.LoadingObserver;
64
import tudelft.ti2806.pl3.ScreenSize;
75
import tudelft.ti2806.pl3.data.filter.Filter;
6+
import tudelft.ti2806.pl3.data.gene.Gene;
87
import tudelft.ti2806.pl3.data.gene.GeneData;
98
import tudelft.ti2806.pl3.data.graph.DataNode;
109
import tudelft.ti2806.pl3.data.graph.GraphDataRepository;
1110
import tudelft.ti2806.pl3.exception.NodeNotFoundException;
1211
import tudelft.ti2806.pl3.ui.util.DialogUtil;
12+
import tudelft.ti2806.pl3.util.observers.LoadingObserver;
1313

1414
import java.awt.Component;
1515
import java.io.File;
@@ -35,6 +35,7 @@ public class GraphController implements Controller {
3535
* Percentage of the screen that is moved.
3636
*/
3737
private static final double MOVE_FACTOR = 10.0;
38+
private static final float ZOOM_STEP_SIZE = 1.5f;
3839

3940
/**
4041
* Initialise an instance of GraphControler.<br>
@@ -149,7 +150,7 @@ public void moveView(float zoomCenter) {
149150
* Zoom the graph one level up.
150151
*/
151152
public void zoomLevelUp() {
152-
zoomedGraphModel.setZoomLevel(zoomedGraphModel.getZoomLevel() * 2);
153+
zoomedGraphModel.setZoomLevel(zoomedGraphModel.getZoomLevel() * ZOOM_STEP_SIZE);
153154
zoomedGraphModel.produceDataNodeWrapperList();
154155
graphMoved();
155156
}
@@ -158,7 +159,7 @@ public void zoomLevelUp() {
158159
* Zoom the graph one level down.
159160
*/
160161
public void zoomLevelDown() {
161-
zoomedGraphModel.setZoomLevel(zoomedGraphModel.getZoomLevel() / 2);
162+
zoomedGraphModel.setZoomLevel(zoomedGraphModel.getZoomLevel() / ZOOM_STEP_SIZE);
162163
zoomedGraphModel.produceDataNodeWrapperList();
163164
graphMoved();
164165
}

src/main/java/tudelft/ti2806/pl3/visualization/GraphView.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public class GraphView implements Observer, tudelft.ti2806.pl3.View, ViewInterfa
4646
* A zoom level of 1.0 shows the graph 1:1, so that every base pair should be readable, each with pixels to draw its
4747
* value as text. A zoom level of 2.0 shows the graph with each base pair using the half this size.
4848
*/
49-
private double zoomLevel = 1.0;
49+
private float zoomLevel = 1.0f;
5050

5151
/**
5252
* The css style sheet used drawing the graph.<br>

src/main/java/tudelft/ti2806/pl3/visualization/ZoomedGraphModel.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public class ZoomedGraphModel extends Observable implements Observer, LoadingObs
4343
private List<WrapperClone> dataNodeWrapperList;
4444
private final ArrayList<LoadingObserver> loadingObservers = new ArrayList<>();
4545

46-
private int zoomLevel = 1;
46+
private float zoomLevel = 1;
4747
private int graphWidth;
4848

4949
/**
@@ -66,13 +66,13 @@ public List<WrapperClone> getDataNodeWrapperList() {
6666
* @param zoomLevel
6767
* the new zoom level
6868
*/
69-
public void setZoomLevel(int zoomLevel) {
70-
if (zoomLevel > 0) {
69+
public void setZoomLevel(float zoomLevel) {
70+
if (zoomLevel >= 1) {
7171
this.zoomLevel = zoomLevel;
7272
}
7373
}
7474

75-
public int getZoomLevel() {
75+
public float getZoomLevel() {
7676
return this.zoomLevel;
7777
}
7878

@@ -87,6 +87,7 @@ public int getZoomLevel() {
8787
*/
8888
public void produceDataNodeWrapperList() {
8989
notifyLoadingObservers(true);
90+
9091
float condition = Math.min((this.graphWidth * MIN_NODE_DISTANCE)
9192
/ (ScreenSize.getInstance().getWidth() * this.zoomLevel),
9293
new GetFirstCombineWrapper().compute(this.collapsedNode).getCollapse());

src/test/java/tudelft/ti2806/pl3/visualisation/ZoomedGraphModelTest.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
package tudelft.ti2806.pl3.visualisation;
22

3+
import static org.junit.Assert.assertEquals;
4+
35
import org.junit.Before;
46
import org.junit.Test;
57
import org.junit.runner.RunWith;
68
import org.mockito.Mock;
79
import org.mockito.runners.MockitoJUnitRunner;
10+
811
import tudelft.ti2806.pl3.visualization.FilteredGraphModel;
912
import tudelft.ti2806.pl3.visualization.ZoomedGraphModel;
1013

11-
import static org.junit.Assert.assertEquals;
12-
1314
/**
1415
* Test for ZoomedGraphModel
1516
* Created by Kasper on 17-6-2015.
@@ -29,10 +30,10 @@ public void setUp() {
2930

3031
@Test
3132
public void testZoom() {
32-
assertEquals(1, zoomedGraphModel.getZoomLevel());
33+
assertEquals(1, zoomedGraphModel.getZoomLevel(), 0);
3334
zoomedGraphModel.setZoomLevel(5);
34-
assertEquals(5, zoomedGraphModel.getZoomLevel());
35+
assertEquals(5, zoomedGraphModel.getZoomLevel(), 0);
3536
zoomedGraphModel.setZoomLevel(-1);
36-
assertEquals(5, zoomedGraphModel.getZoomLevel());
37+
assertEquals(5, zoomedGraphModel.getZoomLevel(), 0);
3738
}
3839
}

0 commit comments

Comments
 (0)