Fix issue where tabs were only visible when the window was maximized

This commit is contained in:
Rohit Awate 2018-07-18 20:46:55 +05:30
parent 9515782650
commit cef97f0fec
6 changed files with 318 additions and 308 deletions

View file

@ -37,7 +37,7 @@ public class HomeWindowController implements Initializable {
@FXML @FXML
private SplitPane splitPane; private SplitPane splitPane;
@FXML @FXML
private TabPane homeWindowTabPane; private TabPane tabPane;
@FXML @FXML
private TextField historyTextField; private TextField historyTextField;
@FXML @FXML

View file

@ -47,7 +47,6 @@ import javafx.scene.control.*;
import javafx.scene.control.Label; import javafx.scene.control.Label;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
import javafx.scene.input.KeyCode; import javafx.scene.input.KeyCode;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox; import javafx.scene.layout.VBox;
import org.fxmisc.flowless.VirtualizedScrollPane; import org.fxmisc.flowless.VirtualizedScrollPane;
@ -68,7 +67,7 @@ import java.util.ResourceBundle;
public class DashboardController implements Initializable { public class DashboardController implements Initializable {
@FXML @FXML
private StackPane dashboard; private VBox dashboard;
@FXML @FXML
TextField addressField; TextField addressField;
@FXML @FXML

View file

@ -36,7 +36,6 @@ import javafx.scene.control.SplitPane;
import javafx.scene.control.Tab; import javafx.scene.control.Tab;
import javafx.scene.control.TabPane; import javafx.scene.control.TabPane;
import javafx.scene.layout.StackPane; import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage; import javafx.stage.Stage;
import java.io.File; import java.io.File;
@ -50,26 +49,29 @@ import java.util.ResourceBundle;
public class HomeWindowController implements Initializable { public class HomeWindowController implements Initializable {
@FXML @FXML
private StackPane homeWindowSP; private StackPane homeWindowSP, dashboardContainer;
@FXML @FXML
private SplitPane splitPane; private SplitPane splitPane;
@FXML @FXML
private TabPane homeWindowTabPane; private TabPane tabPane;
@FXML
private HistoryPaneController historyPaneController;
@FXML
private VBox tabDashboardBox;
private HashMap<Tab, DashboardState> tabStateMap; private HashMap<Tab, DashboardState> tabStateMap;
private HistoryPaneController historyController;
private DashboardController dashboard; private DashboardController dashboard;
@Override @Override
public void initialize(URL location, ResourceBundle resources) { public void initialize(URL location, ResourceBundle resources) {
FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/homewindow/Dashboard.fxml"));
try { try {
Parent dashboardFXML = loader.load(); FXMLLoader historyLoader = new FXMLLoader(getClass().getResource("/fxml/homewindow/HistoryPane.fxml"));
dashboard = loader.getController(); Parent historyFXML = historyLoader.load();
tabDashboardBox.getChildren().add(dashboardFXML); splitPane.getItems().add(0, historyFXML);
historyController = historyLoader.getController();
historyController.addItemClickHandler(this::addTab);
FXMLLoader dashboardLoader = new FXMLLoader(getClass().getResource("/fxml/homewindow/Dashboard.fxml"));
Parent dashboardFXML = dashboardLoader.load();
dashboard = dashboardLoader.getController();
dashboardContainer.getChildren().add(dashboardFXML);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -78,7 +80,6 @@ public class HomeWindowController implements Initializable {
tabStateMap = new LinkedHashMap<>(); tabStateMap = new LinkedHashMap<>();
recoverState(); recoverState();
historyPaneController.addItemClickHandler(this::addTab);
homeWindowSP.setFocusTraversable(true); homeWindowSP.setFocusTraversable(true);
Platform.runLater(() -> { Platform.runLater(() -> {
@ -90,7 +91,7 @@ public class HomeWindowController implements Initializable {
thisStage.setOnCloseRequest(e -> saveState()); thisStage.setOnCloseRequest(e -> saveState());
}); });
homeWindowTabPane.getSelectionModel().selectedItemProperty().addListener(this::onTabSwitched); tabPane.getSelectionModel().selectedItemProperty().addListener(this::onTabSwitched);
} }
/** /**
@ -132,7 +133,7 @@ public class HomeWindowController implements Initializable {
} }
/** /**
* Adds a new tab to the homeWindowTabPane initialized with * Adds a new tab to the tabPane initialized with
* the ComposerState provided. * the ComposerState provided.
*/ */
private void addTab(ComposerState composerState) { private void addTab(ComposerState composerState) {
@ -147,10 +148,10 @@ public class HomeWindowController implements Initializable {
newTab.setOnCloseRequest(e -> { newTab.setOnCloseRequest(e -> {
tabStateMap.remove(newTab); tabStateMap.remove(newTab);
homeWindowTabPane.getTabs().remove(newTab); tabPane.getTabs().remove(newTab);
// Closes the application if the last tab is closed // Closes the application if the last tab is closed
if (homeWindowTabPane.getTabs().size() == 0) { if (tabPane.getTabs().size() == 0) {
saveState(); saveState();
Stage thisStage = (Stage) homeWindowSP.getScene().getWindow(); Stage thisStage = (Stage) homeWindowSP.getScene().getWindow();
thisStage.close(); thisStage.close();
@ -168,10 +169,10 @@ public class HomeWindowController implements Initializable {
4. Switch to the new tab. 4. Switch to the new tab.
5. Call onTabSwitched() to update the Dashboard and save the oldState. 5. Call onTabSwitched() to update the Dashboard and save the oldState.
*/ */
Tab prevTab = homeWindowTabPane.getSelectionModel().getSelectedItem(); Tab prevTab = tabPane.getSelectionModel().getSelectedItem();
DashboardState prevState = dashboard.getState(); DashboardState prevState = dashboard.getState();
homeWindowTabPane.getTabs().add(newTab); tabPane.getTabs().add(newTab);
homeWindowTabPane.getSelectionModel().select(newTab); tabPane.getSelectionModel().select(newTab);
onTabSwitched(prevState, prevTab, newTab); onTabSwitched(prevState, prevTab, newTab);
} }
@ -181,7 +182,7 @@ public class HomeWindowController implements Initializable {
Other tabs will already have their states saved when they Other tabs will already have their states saved when they
were loaded from state.json or on a tab switch. were loaded from state.json or on a tab switch.
*/ */
Tab currentTab = homeWindowTabPane.getSelectionModel().getSelectedItem(); Tab currentTab = tabPane.getSelectionModel().getSelectedItem();
DashboardState currentState = dashboard.getState(); DashboardState currentState = dashboard.getState();
tabStateMap.put(currentTab, currentState); tabStateMap.put(currentTab, currentState);
@ -228,11 +229,11 @@ public class HomeWindowController implements Initializable {
} }
public void addHistoryItem(ComposerState state) { public void addHistoryItem(ComposerState state) {
historyPaneController.addHistoryItem(state); historyController.addHistoryItem(state);
} }
private void toggleHistoryPane() { private void toggleHistoryPane() {
historyPaneController.toggleVisibilityIn(splitPane); historyController.toggleVisibilityIn(splitPane);
} }
private class KeymapHandler { private class KeymapHandler {
@ -251,17 +252,17 @@ public class HomeWindowController implements Initializable {
} else if (KeyMap.toggleHistory.match(e)) { } else if (KeyMap.toggleHistory.match(e)) {
toggleHistoryPane(); toggleHistoryPane();
} else if (KeyMap.closeTab.match(e)) { } else if (KeyMap.closeTab.match(e)) {
Tab activeTab = homeWindowTabPane.getSelectionModel().getSelectedItem(); Tab activeTab = tabPane.getSelectionModel().getSelectedItem();
tabStateMap.remove(activeTab); tabStateMap.remove(activeTab);
homeWindowTabPane.getTabs().remove(activeTab); tabPane.getTabs().remove(activeTab);
if (homeWindowTabPane.getTabs().size() == 0) { if (tabPane.getTabs().size() == 0) {
saveState(); saveState();
Stage thisStage = (Stage) homeWindowSP.getScene().getWindow(); Stage thisStage = (Stage) homeWindowSP.getScene().getWindow();
thisStage.close(); thisStage.close();
} }
homeWindowTabPane.getTabs().remove(activeTab); tabPane.getTabs().remove(activeTab);
} else if (KeyMap.searchHistory.match(e)) { } else if (KeyMap.searchHistory.match(e)) {
historyPaneController.focusSearchField(); historyController.focusSearchField();
} else if (KeyMap.focusParams.match(e)) { } else if (KeyMap.focusParams.match(e)) {
dashboard.requestOptionsTab.getSelectionModel().select(dashboard.paramsTab); dashboard.requestOptionsTab.getSelectionModel().select(dashboard.paramsTab);
} else if (KeyMap.focusAuth.match(e)) { } else if (KeyMap.focusAuth.match(e)) {

View file

@ -96,15 +96,15 @@
} }
/* Home window tab */ /* Home window tab */
#homeWindowTabPane:top .tab-header-area .headers-region .tab:top .tab-container .tab-close-button { #tabPane:top .tab-header-area .headers-region .tab:top .tab-container .tab-close-button {
-fx-background-color: white; -fx-background-color: white;
} }
#homeWindowTabPane:top .tab-header-area .headers-region .tab:hover:top { #tabPane:top .tab-header-area .headers-region .tab:hover:top {
-fx-background-color: orangered; -fx-background-color: orangered;
} }
#homeWindowTabPane:top .tab-header-area .headers-region .tab:selected:top { #tabPane:top .tab-header-area .headers-region .tab:selected:top {
-fx-background-color: #505050; -fx-background-color: #505050;
} }

View file

@ -22,272 +22,282 @@
<?import javafx.scene.image.*?> <?import javafx.scene.image.*?>
<?import javafx.scene.layout.*?> <?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?> <?import javafx.scene.text.*?>
<StackPane fx:id="dashboard" stylesheets="@../../css/Adreana.css" xmlns="http://javafx.com/javafx/8.0.111" <VBox fx:id="dashboard" alignment="CENTER" stylesheets="@../../css/Adreana.css" xmlns="http://javafx.com/javafx/8.0.111"
xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.rohitawate.everest.controllers.DashboardController"> xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.rohitawate.everest.controllers.DashboardController">
<children> <children>
<VBox> <HBox alignment="CENTER" maxHeight="100.0" minHeight="100.0" spacing="20.0" VBox.vgrow="ALWAYS">
<children> <children>
<HBox alignment="CENTER" maxHeight="100.0" minHeight="100.0" spacing="20.0" VBox.vgrow="ALWAYS"> <ImageView fitHeight="50.0" fitWidth="50.0" pickOnBounds="true" preserveRatio="true"
<children> HBox.hgrow="ALWAYS">
<ImageView fitHeight="50.0" fitWidth="50.0" pickOnBounds="true" preserveRatio="true" HBox.hgrow="ALWAYS"> <image>
<image> <Image url="@../../assets/Logo.png"/>
<Image url="@../../assets/Logo.png" /> </image>
</image> </ImageView>
</ImageView> <HBox fx:id="addressSection" alignment="CENTER" maxHeight="40.0" HBox.hgrow="ALWAYS">
<HBox fx:id="addressSection" alignment="CENTER" maxHeight="40.0" HBox.hgrow="ALWAYS"> <children>
<children> <StackPane fx:id="comboContainer" minHeight="40.0" minWidth="130.0">
<StackPane fx:id="comboContainer" minHeight="40.0" minWidth="130.0"> <children>
<children> <ComboBox fx:id="httpMethodBox" minHeight="40.0" minWidth="130.0"
<ComboBox fx:id="httpMethodBox" minHeight="40.0" minWidth="130.0" StackPane.alignment="CENTER" /> StackPane.alignment="CENTER"/>
</children> </children>
</StackPane> </StackPane>
<TextField fx:id="addressField" promptText="URL" HBox.hgrow="ALWAYS"> <TextField fx:id="addressField" promptText="URL" HBox.hgrow="ALWAYS">
<font> <font>
<Font size="18.0" /> <Font size="18.0"/>
</font> </font>
</TextField> </TextField>
</children> </children>
</HBox> </HBox>
<JFXButton fx:id="sendButton" buttonType="RAISED" defaultButton="true" minWidth="110.0" onAction="#sendRequest" prefHeight="39.0" ripplerFill="WHITE" text=" SEND" textAlignment="CENTER" textFill="WHITE" HBox.hgrow="ALWAYS"> <JFXButton fx:id="sendButton" buttonType="RAISED" defaultButton="true" minWidth="110.0"
<padding> onAction="#sendRequest" prefHeight="39.0" ripplerFill="WHITE" text=" SEND"
<Insets bottom="5.0" left="15.0" right="15.0" top="5.0" /> textAlignment="CENTER" textFill="WHITE" HBox.hgrow="ALWAYS">
</padding> <padding>
<font> <Insets bottom="5.0" left="15.0" right="15.0" top="5.0"/>
<Font size="18.0" /> </padding>
</font> <font>
<HBox.margin> <Font size="18.0"/>
<Insets /> </font>
</HBox.margin> <HBox.margin>
<graphic> <Insets/>
<ImageView fitHeight="15.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> </HBox.margin>
<image> <graphic>
<Image url="@../../assets/Send.png" /> <ImageView fitHeight="15.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true">
</image> <image>
</ImageView> <Image url="@../../assets/Send.png"/>
</graphic> </image>
</JFXButton> </ImageView>
</children> </graphic>
<padding> </JFXButton>
<Insets left="20.0" right="20.0" /> </children>
</padding> <padding>
</HBox> <Insets left="20.0" right="20.0"/>
<SplitPane dividerPositions="0.1" orientation="VERTICAL" VBox.vgrow="ALWAYS"> </padding>
<items> </HBox>
<AnchorPane maxHeight="300.0"> <SplitPane dividerPositions="0.1" orientation="VERTICAL" VBox.vgrow="ALWAYS">
<children> <items>
<TabPane fx:id="requestOptionsTab" minHeight="190.0" tabClosingPolicy="UNAVAILABLE" tabMinWidth="150.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> <AnchorPane maxHeight="300.0">
<tabs> <children>
<Tab fx:id="paramsTab" text="PARAMS"> <TabPane fx:id="requestOptionsTab" minHeight="190.0" tabClosingPolicy="UNAVAILABLE"
<content> tabMinWidth="150.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
<VBox> AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children> <tabs>
<HBox alignment="CENTER" maxHeight="0.0" spacing="20.0" VBox.vgrow="ALWAYS"> <Tab fx:id="paramsTab" text="PARAMS">
<VBox.margin> <content>
<Insets /> <VBox>
</VBox.margin> <children>
<children> <HBox alignment="CENTER" maxHeight="0.0" spacing="20.0"
<JFXButton fx:id="newParamButton" onAction="#addParamField" text=" NEW PARAM" textFill="WHITE" HBox.hgrow="ALWAYS"> VBox.vgrow="ALWAYS">
<graphic> <VBox.margin>
<ImageView fitHeight="15.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> <Insets/>
<image> </VBox.margin>
<Image url="@../../assets/Plus.png" /> <children>
</image> <JFXButton fx:id="newParamButton" onAction="#addParamField"
</ImageView> text=" NEW PARAM" textFill="WHITE"
</graphic> HBox.hgrow="ALWAYS">
<HBox.margin> <graphic>
<Insets /> <ImageView fitHeight="15.0" fitWidth="15.0"
</HBox.margin> pickOnBounds="true" preserveRatio="true">
</JFXButton> <image>
<JFXButton fx:id="appendParamsButton" onAction="#appendParams" ripplerFill="WHITE" text=" APPEND PARAMS" textFill="WHITE" HBox.hgrow="ALWAYS"> <Image url="@../../assets/Plus.png"/>
<graphic> </image>
<ImageView fitHeight="15.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> </ImageView>
<image> </graphic>
<Image url="@../../assets/CheckMark.png" /> <HBox.margin>
</image> <Insets/>
</ImageView> </HBox.margin>
</graphic> </JFXButton>
<HBox.margin> <JFXButton fx:id="appendParamsButton" onAction="#appendParams"
<Insets /> ripplerFill="WHITE" text=" APPEND PARAMS"
</HBox.margin> textFill="WHITE" HBox.hgrow="ALWAYS">
</JFXButton> <graphic>
</children> <ImageView fitHeight="15.0" fitWidth="15.0"
<padding> pickOnBounds="true" preserveRatio="true">
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> <image>
</padding> <Image url="@../../assets/CheckMark.png"/>
</HBox> </image>
<ScrollPane fitToHeight="true" fitToWidth="true" hbarPolicy="NEVER" VBox.vgrow="ALWAYS"> </ImageView>
<content> </graphic>
<VBox fx:id="paramsBox" alignment="TOP_CENTER" /> <HBox.margin>
</content> <Insets/>
</ScrollPane> </HBox.margin>
</children> </JFXButton>
</VBox> </children>
</content> <padding>
</Tab> <Insets bottom="15.0" left="15.0" right="15.0" top="15.0"/>
<Tab fx:id="authTab" text="AUTHORIZATION" /> </padding>
<Tab fx:id="headersTab" text="HEADERS" /> </HBox>
<Tab fx:id="bodyTab" text="BODY" /> <ScrollPane fitToHeight="true" fitToWidth="true" hbarPolicy="NEVER"
</tabs> VBox.vgrow="ALWAYS">
</TabPane> <content>
</children> <VBox fx:id="paramsBox" alignment="TOP_CENTER"/>
</AnchorPane> </content>
<AnchorPane> </ScrollPane>
<children> </children>
<VBox fx:id="responseBox" alignment="CENTER" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> </VBox>
<children> </content>
<StackPane VBox.vgrow="SOMETIMES"> </Tab>
<children> <Tab fx:id="authTab" text="AUTHORIZATION"/>
<VBox fx:id="responseLayer"> <Tab fx:id="headersTab" text="HEADERS"/>
<children> <Tab fx:id="bodyTab" text="BODY"/>
<HBox fx:id="responseDetails" alignment="CENTER_RIGHT" </tabs>
maxHeight="50.0" minHeight="50.0" spacing="30.0" </TabPane>
VBox.vgrow="ALWAYS"> </children>
<children> </AnchorPane>
<HBox alignment="CENTER_LEFT" HBox.hgrow="ALWAYS"> <AnchorPane>
<children> <children>
<Label fx:id="statusCode" text="404" <VBox fx:id="responseBox" alignment="CENTER" AnchorPane.bottomAnchor="0.0"
textFill="WHITE" HBox.hgrow="ALWAYS"> AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<font> <children>
<Font name="System Bold" size="35.0"/> <StackPane VBox.vgrow="ALWAYS">
</font> <children>
<HBox.margin> <VBox fx:id="responseLayer">
<Insets right="10.0"/> <children>
</HBox.margin> <HBox fx:id="responseDetails" alignment="CENTER_RIGHT" maxHeight="50.0"
</Label> minHeight="50.0" spacing="30.0" VBox.vgrow="ALWAYS">
<Label fx:id="statusCodeDescription" <children>
text="Not Found" textFill="WHITE" <HBox alignment="CENTER_LEFT" HBox.hgrow="ALWAYS">
HBox.hgrow="ALWAYS"> <children>
<font> <Label fx:id="statusCode" text="404" textFill="WHITE"
<Font size="30.0"/> HBox.hgrow="ALWAYS">
</font> <font>
</Label> <Font name="System Bold" size="35.0"/>
</children> </font>
</HBox> <HBox.margin>
<ComboBox fx:id="responseTypeBox" minHeight="30.0" <Insets right="10.0"/>
prefWidth="100.0"/> </HBox.margin>
<Label fx:id="responseTime" text="151 ms" textFill="WHITE" </Label>
HBox.hgrow="ALWAYS"> <Label fx:id="statusCodeDescription" text="Not Found"
<HBox.margin> textFill="WHITE" HBox.hgrow="ALWAYS">
<Insets/> <font>
</HBox.margin> <Font size="30.0"/>
<font> </font>
<Font name="Liberation Mono" size="17.0"/> </Label>
</font> </children>
</Label> </HBox>
<Label fx:id="responseSize" layoutX="1187.0" layoutY="23.0" <ComboBox fx:id="responseTypeBox" minHeight="30.0"
text="1998 B" textFill="WHITE" HBox.hgrow="ALWAYS"> prefWidth="100.0"/>
<font> <Label fx:id="responseTime" text="151 ms" textFill="WHITE"
<Font name="Liberation Mono" size="17.0"/> HBox.hgrow="ALWAYS">
</font> <HBox.margin>
<HBox.margin> <Insets/>
<Insets/> </HBox.margin>
</HBox.margin> <font>
</Label> <Font name="Liberation Mono" size="17.0"/>
<JFXButton fx:id="copyBodyButton" textFill="WHITE"> </font>
<graphic> </Label>
<ImageView fitHeight="20.0" fitWidth="20.0" <Label fx:id="responseSize" layoutX="1187.0" layoutY="23.0"
pickOnBounds="true" text="1998 B" textFill="WHITE" HBox.hgrow="ALWAYS">
preserveRatio="true"> <font>
<image> <Font name="Liberation Mono" size="17.0"/>
<Image url="@../../assets/Copy.png"/> </font>
</image> <HBox.margin>
</ImageView> <Insets/>
</graphic> </HBox.margin>
</JFXButton> </Label>
<JFXButton fx:id="clearResponseAreaButton" <JFXButton fx:id="copyBodyButton" textFill="WHITE">
buttonType="RAISED" <graphic>
onAction="#clearResponseArea" <ImageView fitHeight="20.0" fitWidth="20.0"
ripplerFill="WHITE" text=" CLEAR" pickOnBounds="true" preserveRatio="true">
textFill="WHITE" HBox.hgrow="ALWAYS"> <image>
<graphic> <Image url="@../../assets/Copy.png"/>
<ImageView fitHeight="15.0" fitWidth="15.0" </image>
pickOnBounds="true" </ImageView>
preserveRatio="true"> </graphic>
<image> </JFXButton>
<Image url="@../../assets/CrossMark.png"/> <JFXButton fx:id="clearResponseAreaButton" buttonType="RAISED"
</image> onAction="#clearResponseArea" ripplerFill="WHITE"
</ImageView> text=" CLEAR" textFill="WHITE" HBox.hgrow="ALWAYS">
</graphic> <graphic>
<tooltip> <ImageView fitHeight="15.0" fitWidth="15.0"
<Tooltip autoHide="true" pickOnBounds="true" preserveRatio="true">
text="Clears this bar and the response body below."/> <image>
</tooltip> <Image url="@../../assets/CrossMark.png"/>
</JFXButton> </image>
</children> </ImageView>
<padding> </graphic>
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0"/> <tooltip>
</padding> <Tooltip autoHide="true"
</HBox> text="Clears this bar and the response body below."/>
<TabPane fx:id="responseTabPane" side="BOTTOM" tabMinWidth="100.0"> </tooltip>
<tabs> </JFXButton>
<Tab fx:id="responseBodyTab" closable="false" text="BODY"/> </children>
<Tab fx:id="visualizerTab" closable="false" <padding>
text="VISUALIZER"/> <Insets bottom="15.0" left="15.0" right="15.0" top="15.0"/>
<Tab fx:id="responseHeadersTab" closable="false" </padding>
text="HEADERS"/> </HBox>
</tabs> <TabPane fx:id="responseTabPane" side="BOTTOM" tabMinWidth="100.0"
</TabPane> VBox.vgrow="ALWAYS">
</children> <tabs>
</VBox> <Tab fx:id="responseBodyTab" closable="false" text="BODY"/>
<VBox fx:id="loadingLayer" alignment="CENTER" spacing="10.0"> <Tab fx:id="visualizerTab" closable="false" text="VISUALIZER"/>
<children> <Tab fx:id="responseHeadersTab" closable="false"
<Label text="LOADING" textFill="WHITE"> text="HEADERS"/>
<font> </tabs>
<Font size="70.0" /> </TabPane>
</font> </children>
</Label> </VBox>
<JFXProgressBar fx:id="progressBar" VBox.vgrow="ALWAYS" /> <VBox fx:id="loadingLayer" alignment="CENTER" spacing="10.0">
<JFXButton fx:id="cancelButton" text=" CANCEL" textFill="WHITE"> <children>
<graphic> <Label text="LOADING" textFill="WHITE">
<ImageView fitHeight="15.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> <font>
<image> <Font size="70.0"/>
<Image url="@../../assets/CrossMark.png" /> </font>
</image> </Label>
</ImageView> <JFXProgressBar fx:id="progressBar" VBox.vgrow="ALWAYS"/>
</graphic> <JFXButton fx:id="cancelButton" text=" CANCEL" textFill="WHITE">
</JFXButton> <graphic>
</children> <ImageView fitHeight="15.0" fitWidth="15.0" pickOnBounds="true"
</VBox> preserveRatio="true">
<VBox fx:id="promptLayer" alignment="CENTER" visible="false"> <image>
<children> <Image url="@../../assets/CrossMark.png"/>
<Label text="Enter an address, select a method and hit send." textFill="WHITE"> </image>
<font> </ImageView>
<Font size="32.0" /> </graphic>
</font> </JFXButton>
</Label> </children>
</children> </VBox>
</VBox> <VBox fx:id="promptLayer" alignment="CENTER" visible="false">
<VBox fx:id="errorLayer" alignment="CENTER" layoutX="10.0" layoutY="10.0" visible="false"> <children>
<children> <Label text="Enter an address, select a method and hit send."
<ImageView fitHeight="100.0" fitWidth="100.0" opacity="0.75" pickOnBounds="true" preserveRatio="true"> textFill="WHITE">
<image> <font>
<Image url="@../../assets/Explosion.png" /> <Font size="32.0"/>
</image> </font>
</ImageView> </Label>
<Label fx:id="errorTitle" text="Error title" textFill="WHITE"> </children>
<font> </VBox>
<Font name="System Bold" size="32.0" /> <VBox fx:id="errorLayer" alignment="CENTER" layoutX="10.0" layoutY="10.0"
</font> visible="false">
</Label> <children>
<Label fx:id="errorDetails" text="Error details" textAlignment="CENTER" textFill="#c3c3c3"> <ImageView fitHeight="100.0" fitWidth="100.0" opacity="0.75"
<font> pickOnBounds="true" preserveRatio="true">
<Font size="22.0" /> <image>
</font> <Image url="@../../assets/Explosion.png"/>
</Label> </image>
</children> </ImageView>
</VBox> <Label fx:id="errorTitle" text="Error title" textFill="WHITE">
</children> <font>
</StackPane> <Font name="System Bold" size="32.0"/>
</children> </font>
</VBox> </Label>
</children> <Label fx:id="errorDetails" text="Error details" textAlignment="CENTER"
</AnchorPane> textFill="#c3c3c3">
</items> <font>
</SplitPane> <Font size="22.0"/>
</children> </font>
<padding> </Label>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> </children>
</padding> </VBox>
</VBox> </children>
</StackPane>
</children>
</VBox>
</children>
</AnchorPane>
</items>
</SplitPane>
</children> </children>
</StackPane> <padding>
<Insets bottom="10.0" left="10.0" right="10.0"/>
</padding>
</VBox>

View file

@ -18,18 +18,18 @@
<?import javafx.scene.control.SplitPane?> <?import javafx.scene.control.SplitPane?>
<?import javafx.scene.control.TabPane?> <?import javafx.scene.control.TabPane?>
<?import javafx.scene.layout.StackPane?> <?import javafx.scene.layout.*?>
<?import javafx.scene.layout.VBox?> <StackPane fx:id="homeWindowSP" stylesheets="@../../css/Adreana.css" xmlns="http://javafx.com/javafx/8.0.111"
<StackPane fx:id="homeWindowSP" stylesheets="@../../css/Adreana.css" xmlns="http://javafx.com/javafx/8.0.141"
xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.rohitawate.everest.controllers.HomeWindowController"> xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.rohitawate.everest.controllers.HomeWindowController">
<children> <children>
<SplitPane fx:id="splitPane" dividerPositions="0.3"> <SplitPane fx:id="splitPane">
<items> <items>
<fx:include fx:id="historyPane" source="HistoryPane.fxml" /> <VBox fx:id="tabDashboardBox" alignment="TOP_CENTER" SplitPane.resizableWithParent="false">
<VBox fx:id="tabDashboardBox" SplitPane.resizableWithParent="false">
<children> <children>
<TabPane fx:id="homeWindowTabPane" tabClosingPolicy="ALL_TABS" tabMaxHeight="30.0" <TabPane fx:id="tabPane" maxHeight="35.0" minHeight="35.0" tabClosingPolicy="ALL_TABS"
tabMaxWidth="200.0" tabMinHeight="30.0" tabMinWidth="200.0" VBox.vgrow="ALWAYS"/> tabMaxHeight="35.0" tabMaxWidth="200.0" tabMinHeight="35.0" tabMinWidth="200.0"
VBox.vgrow="ALWAYS"/>
<StackPane fx:id="dashboardContainer" VBox.vgrow="ALWAYS"/>
</children> </children>
</VBox> </VBox>
</items> </items>