```plantuml
@startuml
class client.mainWindow.sectionMenu.labs.Lab {
~ int status
~ String taskHelp
~ Test nullTest
~ String taskFormulation
~ String theoryBackground
~ String instrumentAlgorithm
~ Test finalTest
}
class client.mainWindow.sectionMenu.SectionMenuModel {
}
class client.mainWindow.MainModel {
- MainController mainController
~ void parseConfig(JsonObject)
}
class INSTRUMENTS.MultiplicationInstrument {
+ FlowPane separatorPaneMultiplier_2
+ FlowPane separatorPaneResult
+ FlowPane lineManipulator
+ Canvas canvas2
- {static} ObjectProperty<MultiplicationInstrument> draggingM
+ {static} ArrayList<MultiplicationInstrument> mults
+ int line_amount
- Background focusBackground
- Background unfocusBackground
- Background Green
- {static} String M_DRAG_KEY
- void separateResult(ActionEvent)
- void separateMultiplayer_2(ActionEvent)
- void separateMultiplayer_1(ActionEvent)
+ void removeDigit()
+ void addDigit()
- void remove_line(ActionEvent)
- void add_line(ActionEvent)
+ void checkValue()
+ void delete_1(TranslateFractionalPart)
+ void onDragDropped(DragEvent)
+ void onDragOver(DragEvent)
+ void onDragDone(DragEvent)
+ void onDragDetected(MouseEvent)
}
class client.mainWindow.tabs.TabPaneView {
}
class STARTERS.Main {
+ void start(Stage)
+ {static} void main(String[])
}
class client.mainWindow.widgetPanel.calendar.CalendarController {
}
class client.mainWindow.tabs.TabsZoneModel {
- ArrayList<TabPaneModel> TabPaneModelList
+ {static} String MAIN_PAGE
+ {static} String LAB_LIST_PAGE
+ {static} String AOVT_PAGE
+ ArrayList<TabPaneModel> getTabPaneModelList()
- String getMainPageModel()
- String getLabListPageModel()
- String getAOVTModel()
}
class client.mainWindow.tabs.TabsZoneModel.TabPaneModel {
+ ArrayList<String> tabsModelList
+ String createTabModel(String)
}
class client.mainWindow.pages.mainPage.Model {
+ VBox createPanel()
- ObservableList<String> getTitlePanelList()
}
class INSTRUMENTS.Step {
+ ArrayList<Instrument> instruments
- VBox vBox_list
+ VBox step_vbox
+ int index
+ ChoiceBox<String> choiceBox
+ Button button
+ TextField stepResultField
+ Label label
+ GridPane insHeader
+ ChoiceBox<String> options_instrument
+ TextField indexField
+ {static} ArrayList<Step> steps
+ TitledPane titledPane
+ Button addInstrument
+ Button addInstrumentIndex
+ TextField instIndexField
+ TextField firstParamField
+ TextField secondParamField
- {static} String STEP_DRAG_KEY
- {static} ObjectProperty<Step> draggingStep
- Background focusBackground
- Background unfocusBackground
- Background Green
+ String getInform()
- void createInstrumentIndex()
- void createInstrument()
- void onDragDropped(DragEvent)
- void onDragOver(DragEvent)
- void onDragDone(DragEvent)
+ void onDragDetected(MouseEvent)
+ void change_optional_fields()
+ void delete_step()
+ void change_index(int)
+ void change_index_add(int)
}
class client.mainWindow.tab.TabController {
}
class main.App {
- Stage primaryStage
- boolean loginSuccess
+ Stage getPrimaryStage()
+ void setLoginSuccess(boolean)
+ void start(Stage)
- void initLoginWindow()
- void initMainWindow()
+ {static} void main(String[])
}
class client.mainWindow.tabPane.TabPaneModel {
- TabPaneController tabPaneController
+ void parseConfig()
}
class client.Config {
+ {static} JsonObject load()
}
class client.mainWindow.sectionMenu.labs.LabController {
}
abstract class INSTRUMENTS.Instrument {
+ VBox vBox
+ int index
+ FlowPane flowPane
+ TitledPane titledPane
+ Label label_text
+ Label indexLabel
+ TextField resField
+ Button deleteButton
+ Label resStep
+ Step step
+ Label signLabel
+ int digit
+ GridPane digitNet
+ {abstract}String getInform()
- void delete()
+ void change_index(int)
+ {abstract}void separate_digits(ActionEvent)
+ FlowPane createSeparatorPane()
+ {abstract}void checkValue()
}
class client.loginWindow.LoginModel {
- String login
- String password
+ void setLogin(String)
+ void setPassword(String)
}
class client.mainWindow.sectionMenu.labs.Test {
}
class INSTRUMENTS.AdditionInstrument {
+ SwitchCarry result_carry
+ void removeDigit()
+ void checkValue()
}
class client.mainWindow.menuBar.MenuBarController {
- MenuBarModel menuBarModel
- MenuBarView menuBarView
+ void setMenuBarModel(MenuBarModel)
+ void setMenuBarView(MenuBarView)
}
class client.mainWindow.widgetPanel.WidgetPanelView {
}
class client.mainWindow.widgetPanel.WidgetPanelController {
- WidgetPanelView widgetPanelView
- WidgetPanelModel widgetPanelModel
+ void setWidgetPanelView(WidgetPanelView)
+ void setWidgetPanelModel(WidgetPanelModel)
+ void initialize(URL,ResourceBundle)
}
class client.mainWindow.pages.mainPage.View {
- Text lastEventsText
- Text customPanelText
# ImageView addPanelButton
# GridPane gridPane
~ void onAddPanelButtonEntered(MouseEvent)
~ void onAddPanelButtonExited(MouseEvent)
~ void onAddPanelButtonPressed(MouseEvent)
}
class client.mainWindow.tab.TabModel {
- ArrayList<TabPaneModel> TabPaneModelList
+ ArrayList<TabPaneModel> getTabPaneModelList()
}
class client.mainWindow.tabPane.TabPaneView {
}
class INSTRUMENTS.TranslateIntegerPart {
}
class client.mainWindow.tabs.TabPaneController {
}
class client.mainWindow.sectionMenu.trainers.TrainerView {
}
class INSTRUMENTS.Expression {
+ TextField textField
+ TextFlow textFlow
~ String sup
~ String supchars
~ String subchars
~ String sub
~ char[] csup
~ char[] characters
~ char[] csub
~ char[] character
+ String getInform()
+ void separate_digits(ActionEvent)
+ void checkValue()
+ void superscript()
+ void subscript()
- String convertSupText(String)
- String convertSubText(String)
}
class client.mainWindow.widgetPanel.calendar.Calendar {
}
class client.mainWindow.sectionMenu.SectionMenuController {
- SectionMenuModel sectionMenuModel
- SectionMenuView sectionMenuView
+ void setSectionMenuModel(SectionMenuModel)
+ void setSectionMenuView(SectionMenuView)
}
class client.mainWindow.tabManager.TabManagerView {
~ GridPane gridPane
~ void configGridPane(JsonObject)
}
class client.mainWindow.widgetPanel.profile.ProfileView {
}
class client.mainWindow.pages.mainPage.MainPageController {
- Model mainPageModel
- Parent root
~ void onAddPanelButtonReleased(MouseEvent)
+ void initialize(URL,ResourceBundle)
+ Parent getRoot()
}
class main.Main {
+ {static} void main(String[])
}
class client.mainWindow.widgetPanel.WidgetPanelModel {
}
class client.loginWindow.LoginController {
- TextField loginField
- PasswordField passwordField
- CheckBox rememberPasswordCheckBox
- Button loginButton
- Label errorLabel
- App app
- LoginView loginView
- LoginModel loginModel
~ void onLoginButtonAction(ActionEvent)
+ void initialize(URL,ResourceBundle)
+ void setApp(App)
}
class client.loginWindow.LoginView {
}
abstract class INSTRUMENTS.IEEE {
+ TextField sign
+ TextField expAmount
+ TextField mantAmount
+ VBox vBox_IEEE
+ GridPane ieee_grid
+ boolean notNew
+ Text t
+ Text t1
+ Text t2
+ Text t21
+ Text t22
+ Text t23
+ Text t31
+ Text t32
+ Text t33
+ LinkedList<FlowPane> numbers
}
class INSTRUMENTS.ieeeAdd {
+ Canvas sep1
+ Canvas sep2
+ Canvas sep3
+ Canvas sep4
+ Canvas sep5
+ Canvas sep6
- void create_digit_net(ActionEvent)
+ String getInform()
+ void separate_digits(ActionEvent)
+ void checkValue()
- FlowPane createFlow()
- void behaviour(KeyEvent)
}
class client.mainWindow.widgetPanel.profile.Profile {
}
class client.mainWindow.roadMap.RoadMapView {
- ArrayList<Circle> circleList
+ void setCircleList(ArrayList<Circle>)
+ ArrayList getCircleList()
+ void delete()
+ void updateCircles()
+ void createCircle()
}
class client.mainWindow.widgetPanel.profile.ProfileController {
}
class client.mainWindow.MainView {
~ void createTabStage(JsonObject,AnchorPane)
}
class client.mainWindow.roadMap.RoadMapController {
- Circle ballVasya
- RoadMapModel roadMapModel
- RoadMapView roadMapView
+ void setRoadMapModel(RoadMapModel)
+ void setRoadMapView(RoadMapView)
+ RoadMapModel getRoadMapModel()
+ RoadMapView getRoadMapView()
+ void initialize(URL,ResourceBundle)
}
class client.mainWindow.sectionMenu.trainers.TrainerController {
}
abstract class INSTRUMENTS.ADD_SUB_INSTRUMENT {
+ Button plusButton
+ Button minusButton
+ FlowPane separatorPane
+ LinkedList<SwitchCarry> carryList
+ LinkedList<FlowPane> fields
+ Canvas canvas
+ FlowPane createFlow()
+ void separate_digits(ActionEvent)
+ void addDigit()
+ void removeDigit()
- void change_line()
- void behaviour(KeyEvent)
+ void create_overflows(int)
+ String getInform()
}
class INSTRUMENTS.ADD_SUB_INSTRUMENT.add_sub_json {
+ String overflow_list
+ String first_term
+ String second_term
+ String result
+ String index
}
class client.mainWindow.tabPane.TabPaneController {
- TabPaneModel tabPaneModel
- TabPaneView tabPaneView
+ void initialize(URL,ResourceBundle)
}
class client.mainWindow.tabs.TabsZoneController {
- TabsZoneModel tabsZoneModel
+ void initialize(URL,ResourceBundle)
}
class client.mainWindow.menuBar.MenuBarModel {
}
class INSTRUMENTS.SUBCLASS.SwitchCarry {
+ Button button
+ LimitedTextField textField
+ boolean flag
+ int row
+ int column
+ boolean isOverFlowRes
- void switch_type(ActionEvent)
+ Node get()
+ String getValue()
}
class client.mainWindow.sectionMenu.labs.LabView {
}
class client.mainWindow.tabs.TabPaneModel {
}
class client.mainWindow.tabs.TabsZoneView {
~ ArrayList<TabPane> tabPaneList
~ AnchorPane anchorPane
~ BorderPane borderPane
- Tab currentDraggingTab
- {static} AtomicLong idGenerator
- String draggingID
# TabPane createTabPane()
# Tab createNewTab(String)
- Tab createMainTab()
~ void onTabDragging(Event)
+ void addDragAndDropSupport(TabPane)
- void addDragHandlers(Tab)
- void removeDragHandlers(Tab)
}
class INSTRUMENTS.Const {
+ {static} ObservableList<String> options_step
+ {static} String regex_bin
+ {static} String button_style
+ {static} String step_result
+ {static} ObservableList<String> options_instrument
}
class client.mainWindow.tab.TabView {
}
class client.mainWindow.tabManager.TabManagerController {
- TabManagerModel tabsManagerModel
- TabManagerView tabsManagerView
+ {static} String FXML_PATH
+ void initialize(URL,ResourceBundle)
+ void requestConfigure(JsonObject)
+ void requestConfigureGridPane(JsonObject)
+ void requestCreateTabPane(JsonObject)
}
class client.mainWindow.widgetPanel.calendar.CalendarView {
}
class client.mainWindow.sectionMenu.trainers.Trainer {
}
class client.mainWindow.menuBar.MenuBarView {
- MenuBarModel menuBarModel
- MenuBarView menuBarView
+ void setMenuBarModel(MenuBarModel)
+ void setMenuBarView(MenuBarView)
}
class client.mainWindow.sectionMenu.SectionMenuView {
- Button labButton
- Button trainButton
- Button statisticsButton
~ void onSectionEntered(MouseEvent)
~ void onSectionExited(MouseEvent)
~ void onSectionPressed(MouseEvent)
~ void onSectionReleased(MouseEvent)
}
class INSTRUMENTS.SubtractionInstrument {
+ void removeDigit()
+ void checkValue()
}
class STARTERS.qq {
+ {static} void main(String[])
}
class INSTRUMENTS.IEEEStandart {
+ Canvas sep1
+ Canvas sep2
+ void create_digit_net()
+ String getInform()
+ void separate_digits(ActionEvent)
- FlowPane createFlow()
+ void checkValue()
- void behaviour(KeyEvent)
}
class Controller {
- Cursor cursor
- TextField step_index_field
- ScrollPane main_scroll
- VBox main_vbox
~ void addStepToEnd()
~ void insertByIndex()
}
class client.mainWindow.MainController {
- MainModel mainModel
- MainView mainView
- ArrayList<TabManagerController> tabManagerControllerList
~ RoadMapController roadMapController
~ WidgetPanelController widgetPanelController
~ TabManagerController tabManagerController
~ SectionMenuController sectionMenuController
~ MenuBarController menuBarController
- App app
- JsonObject config
+ void setApp(App)
+ void setConfig(JsonObject)
+ void initialize(URL,ResourceBundle)
~ void requestCreateTabManager(JsonObject)
~ void requestConfigureMainTabManagerView(JsonObject)
+ void requestParseConfig(JsonObject)
+ JsonObject requestGetConfig()
}
class INSTRUMENTS.TranslateFractionalPart {
+ LinkedList<MultiplicationInstrument> list
+ Button button_plus
+ VBox TranslateVBox
+ FlowPane pane
+ TextField dig
- void add_multi(ActionEvent)
+ String getInform()
+ void separate_digits(ActionEvent)
+ void checkValue()
}
class INSTRUMENTS.SUBCLASS.LimitedTextField {
- IntegerProperty maxLength
+ IntegerProperty maxLengthProperty()
+ Integer getMaxLength()
+ void setMaxLength(Integer)
+ void replaceText(int,int,String)
}
class client.mainWindow.tabManager.TabManagerModel {
- TabManagerController tabManagerController
- ArrayList<TabPaneModel> tabPaneModelList
~ void parseConfig(JsonObject)
}
class client.mainWindow.roadMap.RoadMapModel {
}
INSTRUMENTS.ADD_SUB_INSTRUMENT <|-- INSTRUMENTS.MultiplicationInstrument
javafx.application.Application <|-- STARTERS.Main
client.mainWindow.tabs.TabsZoneModel +.. client.mainWindow.tabs.TabsZoneModel.TabPaneModel
javafx.application.Application <|-- main.App
INSTRUMENTS.ADD_SUB_INSTRUMENT <|-- INSTRUMENTS.AdditionInstrument
javafx.fxml.Initializable <|.. client.mainWindow.widgetPanel.WidgetPanelController
INSTRUMENTS.Instrument <|-- INSTRUMENTS.Expression
client.mainWindow.sectionMenu.SectionMenuView <|-- client.mainWindow.sectionMenu.SectionMenuController
javafx.fxml.Initializable <|.. client.mainWindow.pages.mainPage.MainPageController
java.io.Serializable <|.. client.mainWindow.pages.mainPage.MainPageController
client.mainWindow.pages.mainPage.View <|-- client.mainWindow.pages.mainPage.MainPageController
javafx.fxml.Initializable <|.. client.loginWindow.LoginController
INSTRUMENTS.Instrument <|-- INSTRUMENTS.IEEE
INSTRUMENTS.IEEE <|-- INSTRUMENTS.ieeeAdd
javafx.fxml.Initializable <|.. client.mainWindow.roadMap.RoadMapController
INSTRUMENTS.Instrument <|-- INSTRUMENTS.ADD_SUB_INSTRUMENT
INSTRUMENTS.ADD_SUB_INSTRUMENT +.. INSTRUMENTS.ADD_SUB_INSTRUMENT.add_sub_json
javafx.fxml.Initializable <|.. client.mainWindow.tabPane.TabPaneController
client.mainWindow.tabPane.TabPaneView <|-- client.mainWindow.tabPane.TabPaneController
javafx.fxml.Initializable <|.. client.mainWindow.tabs.TabsZoneController
client.mainWindow.tabs.TabsZoneView <|-- client.mainWindow.tabs.TabsZoneController
javafx.fxml.Initializable <|.. client.mainWindow.tabManager.TabManagerController
client.mainWindow.tabManager.TabManagerView <|-- client.mainWindow.tabManager.TabManagerController
INSTRUMENTS.ADD_SUB_INSTRUMENT <|-- INSTRUMENTS.SubtractionInstrument
INSTRUMENTS.IEEE <|-- INSTRUMENTS.IEEEStandart
javafx.fxml.Initializable <|.. client.mainWindow.MainController
client.mainWindow.MainView <|-- client.mainWindow.MainController
INSTRUMENTS.Instrument <|-- INSTRUMENTS.TranslateFractionalPart
javafx.scene.control.TextField <|-- INSTRUMENTS.SUBCLASS.LimitedTextField
@enduml
```