Skip to content

Commit 90e0b91

Browse files
committed
Enable the advanced mode button and disable advanced mode to begin with
1 parent 11ad004 commit 90e0b91

File tree

4 files changed

+70
-45
lines changed

4 files changed

+70
-45
lines changed

src/main/java/com/commonwealthrobotics/MainController.java

Lines changed: 62 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,14 @@ public class MainController implements ICaDoodleStateUpdate, ICameraChangeListen
8484
private ActiveProject ap = new ActiveProject();
8585
private SelectionBox selectionBox = null;
8686
private RulerManager ruler = new RulerManager(ap);
87-
private TimelineManager tm = new TimelineManager(ap);
87+
private TimelineManager timelineManager = new TimelineManager(ap);
8888
/**
8989
* CaDoodle Model Classes
9090
*/
9191
private BowlerStudio3dEngine navigationCube;
9292
private BowlerStudio3dEngine engine;
93-
93+
@FXML // fx:id="Button"
94+
private Button timelineButton;
9495
@FXML // fx:id="stackPane"
9596
private StackPane stackPane; // Value injected by FXMLLoader
9697
@FXML // fx:id="allignButton"
@@ -280,23 +281,25 @@ public class MainController implements ICaDoodleStateUpdate, ICameraChangeListen
280281
@FXML // fx:id="zoomInButton"
281282
private Button dropToWorkplane;
282283
private ICaDoodleOpperation source;
283-
284+
284285
private boolean resetArmed;
285286
private long timeOfClick;
286287
private MeshView ground;
287288
private int lastFrame = 0;
288289
private File currentFile = null;
289290
private boolean timelineOpen = true;
290-
291+
291292
@FXML
292293
void onDropToWorkplane(ActionEvent e) {
293294
session.onDrop();
294295
}
295-
//onObjectWorkplane
296+
297+
// onObjectWorkplane
296298
@FXML
297299
void onObjectWorkplane(ActionEvent e) {
298300
session.objectWorkplane();
299301
}
302+
300303
@FXML
301304
void onSearch(ActionEvent event) {
302305
if (pallet == null)
@@ -375,22 +378,28 @@ void onCruse(ActionEvent event) {
375378
@FXML
376379
void timelineDrawerEvent(ActionEvent e) {
377380
try {
378-
timelineOpen = !timelineOpen;
379-
if (timelineOpen) {
380-
timelineImage.setImage(new Image(MainController.class.getResourceAsStream("drawerClose.png")));
381-
timelineHolder.getChildren().add(timelineScroll);
382-
} else {
383-
timelineImage.setImage(new Image(MainController.class.getResourceAsStream("drawerOpen.png")));
384-
timelineHolder.getChildren().remove(timelineScroll);
385-
}
386-
tm.setOpenState(timelineOpen);
381+
setTimelineOpenState(!timelineOpen);
387382
ConfigurationDatabase.put("CaDoodle", "CaDoodleTimelineShow", timelineOpen);
388383
} catch (Throwable t) {
389384
t.printStackTrace();
390385
}
391386
session.setKeyBindingFocus();
392387
}
393388

389+
private void setTimelineOpenState(boolean tm) {
390+
if(tm==timelineOpen)
391+
return;
392+
if (tm) {
393+
timelineImage.setImage(new Image(MainController.class.getResourceAsStream("drawerClose.png")));
394+
timelineHolder.getChildren().add(timelineScroll);
395+
} else {
396+
timelineImage.setImage(new Image(MainController.class.getResourceAsStream("drawerOpen.png")));
397+
timelineHolder.getChildren().remove(timelineScroll);
398+
}
399+
timelineOpen = tm;
400+
timelineManager.setOpenState(tm);
401+
}
402+
394403
@FXML
395404
void onDrawer(ActionEvent event) {
396405
drawerOpen = !drawerOpen;
@@ -485,16 +494,16 @@ void onHoleButton(ActionEvent event) {
485494
void onHome(ActionEvent event) {
486495
com.neuronrobotics.sdk.common.Log.error("Open the Project Select UI");
487496
// session.setKeyBindingFocus();
488-
if (holeButton!=null)
497+
if (holeButton != null)
489498
homeButton.setDisable(true);
490499
Runnable onFinish = () -> {
491-
if(session!=null)
492-
session.setKeyBindingFocus();
500+
if (session != null)
501+
session.setKeyBindingFocus();
493502
com.neuronrobotics.sdk.common.Log.error("ProjectManager Close");
494503
BowlerStudio.runLater(() -> homeButton.setDisable(false));
495504
};
496505
Runnable onClear = () -> {
497-
if(session==null)
506+
if (session == null)
498507
return;
499508
session.clearScreen();
500509
session.clearSelection();
@@ -513,7 +522,7 @@ void onImport(ActionEvent event) {
513522
com.neuronrobotics.sdk.common.Log.error("On Import");
514523
new Thread(() -> {
515524

516-
ArrayList<String> extentions =getExtention();
525+
ArrayList<String> extentions = getExtention();
517526
ExtensionFilter stl = new ExtensionFilter("CaDoodle Compatible", extentions);
518527
if (currentFile == null)
519528
currentFile = new File(System.getProperty("user.home") + "/Desktop/");
@@ -522,7 +531,8 @@ void onImport(ActionEvent event) {
522531
session.setKeyBindingFocus();
523532
}).start();
524533
}
525-
private ArrayList<String> getExtention( ) {
534+
535+
private ArrayList<String> getExtention() {
526536
ArrayList<String> extentions = new ArrayList<>();
527537

528538
// extentions.add("*");
@@ -543,16 +553,17 @@ private ArrayList<String> getExtention( ) {
543553
extentions.add("*.zip");
544554
return extentions;
545555
}
556+
546557
private Thread importAFile(File last) {
547558
String lowerCase = last.getName().toLowerCase();
548-
if(lowerCase.endsWith(".zip")) {
559+
if (lowerCase.endsWith(".zip")) {
549560
ap.loadFromZip(last);
550-
}else {
561+
} else {
551562
boolean check = false;
552563
ArrayList<String> extention = getExtention();
553-
for(String s:extention) {
554-
if(lowerCase.endsWith(s.substring(1).toLowerCase())) {
555-
check=true;
564+
for (String s : extention) {
565+
if (lowerCase.endsWith(s.substring(1).toLowerCase())) {
566+
check = true;
556567
break;
557568
}
558569
}
@@ -768,7 +779,7 @@ void initialize() {
768779
: "fx:id=\"zoomInButton\" was not injected: check your FXML file 'MainWindow.fxml'.";
769780
assert zoomOutButton != null
770781
: "fx:id=\"zoomOutButton\" was not injected: check your FXML file 'MainWindow.fxml'.";
771-
782+
assert timelineButton!=null:"Timeline button failed";
772783
engine = new BowlerStudio3dEngine("CAD window");
773784
engine.rebuild(true);
774785
ap.addListener(this);
@@ -783,10 +794,11 @@ void initialize() {
783794
setUpNavigationCube();
784795
setUp3dEngine();
785796
setUpColorPicker();
786-
tm.set(timelineScroll,timeline,session,engine);
797+
timelineManager.set(timelineScroll, timeline, session, engine);
787798

788799
session.set(shapeConfiguration, shapeConfigurationBox, shapeConfigurationHolder, configurationGrid, null,
789-
engine, colorPicker, snapGrid, parametrics, lockButton, lockImage, advancedGroupMenu,tm,objectWorkplane,dropToWorkplane);
800+
engine, colorPicker, snapGrid, parametrics, lockButton, lockImage, advancedGroupMenu, timelineManager,
801+
objectWorkplane, dropToWorkplane);
790802
session.setButtons(copyButton, deleteButton, pasteButton, hideSHow, mirronButton, cruseButton);
791803
session.setGroup(groupButton);
792804
session.setUngroup(ungroupButton);
@@ -810,13 +822,14 @@ void initialize() {
810822
});
811823
setupCSGEngine();
812824
SplashManager.setClosePreventer(() -> ap.get().getPercentInitialized() < 0.99);
813-
timelineOpen = (boolean)ConfigurationDatabase.get("CaDoodle", "CaDoodleTimelineShow", false);
825+
timelineOpen = (boolean) ConfigurationDatabase.get("CaDoodle", "CaDoodleTimelineShow", false);
814826
timeline.getChildren().clear();
815-
if(!timelineOpen) {
827+
if (!timelineOpen) {
816828
timelineHolder.getChildren().remove(timelineScroll);
817829
timelineImage.setImage(new Image(MainController.class.getResourceAsStream("drawerOpen.png")));
818830
}
819-
boolean advanced = Boolean.parseBoolean(ConfigurationDatabase.get("CaDoodle", "CaDoodleAdvancedMode", ""+true).toString());
831+
boolean advanced = Boolean
832+
.parseBoolean(ConfigurationDatabase.get("CaDoodle", "CaDoodleAdvancedMode", "" + false).toString());
820833
setAdvancedMode(advanced);
821834
}
822835

@@ -981,20 +994,19 @@ public boolean isMove(MouseEvent me) {
981994
Dragboard db = event.getDragboard();
982995
if (db.hasFiles()) {
983996
List<File> files = db.getFiles();
984-
new Thread(()->{
997+
new Thread(() -> {
985998
for (File file : files) {
986999
System.out.println("File dropped: " + file.getAbsolutePath());
9871000
// Process the file as needed
988-
989-
Thread t=importAFile(file);
990-
if(t!=null)
1001+
1002+
Thread t = importAFile(file);
1003+
if (t != null)
9911004
try {
9921005
t.join();
9931006
} catch (InterruptedException e) {
994-
// TODO Auto-generated catch block
9951007
e.printStackTrace();
9961008
}
997-
1009+
9981010
}
9991011
}).start();
10001012
}
@@ -1138,9 +1150,9 @@ private void setupEngineControls() {
11381150

11391151
if (event.getCode() == KeyCode.UP || event.getCode() == KeyCode.DOWN || event.getCode() == KeyCode.LEFT
11401152
|| event.getCode() == KeyCode.RIGHT || event.getCode() == KeyCode.TAB) {
1141-
double dist=1;
1142-
if(event.isShiftDown())
1143-
dist=3;
1153+
double dist = 1;
1154+
if (event.isShiftDown())
1155+
dist = 3;
11441156
switch (event.getCode()) {
11451157
case UP:
11461158
if (event.isControlDown()) {
@@ -1373,9 +1385,17 @@ public void onRegenerateStart() {
13731385
@Override
13741386
public void onTimelineUpdate(int num) {
13751387
// TODO Auto-generated method stub
1376-
1388+
13771389
}
1390+
13781391
public void setAdvancedMode(boolean advanced) {
1379-
System.out.println("Advanced mode: "+advanced);
1392+
System.out.println("Advanced mode: " + advanced);
1393+
setTimelineOpenState(advanced);
1394+
session.setAdvancedMode(advanced);
1395+
BowlerStudio.runLater(()->{
1396+
timelineButton.setDisable(!advanced);
1397+
advancedGroupMenu.setDisable(!advanced);
1398+
});
1399+
13801400
}
13811401
}

src/main/java/com/commonwealthrobotics/controls/SelectionSession.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ public class SelectionSession implements ICaDoodleStateUpdate {
142142
private Button dropToWorkplane;
143143
private boolean isObjectWorkplane=false;
144144
private TransformNR previousWP;
145+
private boolean advanced;
145146

146147
@SuppressWarnings("static-access")
147148
public SelectionSession(BowlerStudio3dEngine e, ActiveProject ap, RulerManager ruler) {
@@ -950,7 +951,7 @@ private void showButtons() {
950951
groupButton.setDisable(false);
951952
allignButton.setDisable(false);
952953
}
953-
if (selectedCSG.size() > 0) {
954+
if (selectedCSG.size() > 0 && advanced) {
954955
advancedGroupMenu.setDisable(false);
955956
}
956957
if (isAGroupSelected()) {
@@ -1811,4 +1812,8 @@ public void onTimelineUpdate(int num) {
18111812

18121813
}
18131814

1815+
public void setAdvancedMode(boolean advanced) {
1816+
this.advanced = advanced;
1817+
}
1818+
18141819
}

src/main/resources/com/commonwealthrobotics/MainWindow.fxml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@
278278
</Button>
279279
</children>
280280
</GridPane>
281-
<Button contentDisplay="CENTER" mnemonicParsing="false" onAction="#timelineDrawerEvent" rotate="90.0" styleClass="image-button" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="4" GridPane.valignment="BOTTOM">
281+
<Button fx:id="timelineButton" contentDisplay="CENTER" mnemonicParsing="false" onAction="#timelineDrawerEvent" rotate="90.0" styleClass="image-button" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="4" GridPane.valignment="BOTTOM">
282282
<graphic>
283283
<ImageView fx:id="timelineImage" fitHeight="40.0" fitWidth="40.0" pickOnBounds="true" preserveRatio="true">
284284
<image>

0 commit comments

Comments
 (0)