package _VisualDVM.Visual.Interface;
import Common.Visual.Trees.TreeForm;
import _VisualDVM.Global;
public interface ProjectWindow {
    //-
    ArraysWindow getArraysWindow();
    FunctionsWindow getFunctionsWindow();
    AnalysisWindow getAnalysisWindow();
    //-
    void RefreshProjectFiles();
    void ShowSelectedDirectory();
    void ShowSelectedFile();
    void ShowNoSelectedFile();
    void ShowProjectSapforLog();
    void ShowIncludes();
    void ShowNoIncludes();
    void ShowFunctions();
    void ShowNoFunctions();
    void RefreshProjectTreeAndMessages();
    TreeForm getFilesTreeForm();
    //-
    void SwitchScreen(boolean small);
    void ShowProjectView();
    //-
    default void ShowAllAnalyses() {
        ShowProjectSapforLog();
        ShowIncludes();
        ShowFunctions();
        getArraysWindow().ShowArrays();
        //------------------------------>>
        Global.mainModule.getUI().getVersionsWindow().getVariantsWindow().ShowVariantsFilterButtons();
        Global.mainModule.getUI().getVersionsWindow().getVariantsWindow().ShowProjectDistribution();
        Global.mainModule.getUI().getVersionsWindow().getVariantsWindow().ShowVariantsFilter();
        Global.mainModule.getUI().getVersionsWindow().getVariantsWindow().ShowTotalVariantsCount();
        Global.mainModule.getUI().getVersionsWindow().getVariantsWindow().ShowFilteredVariantsCount();
        //----------------------------->>
        getAnalysisWindow().ShowMetrics();
        getAnalysisWindow().ShowLoopsCount();
        getAnalysisWindow().ShowFunctionsCount();
        getAnalysisWindow().ShowArraysCount();
        getAnalysisWindow().ShowRegions();
        getAnalysisWindow().ShowProjectMaxDim();
    }
    default void ShowNoAnalyses() {
        ShowNoIncludes();
        ShowNoFunctions();
        getFunctionsWindow().ShowNoCurrentFunction();
        getArraysWindow().ShowNoArrays();
        Global.mainModule.getUI().getVersionsWindow().getVariantsWindow().ShowNoProjectDistribution();
        Global.mainModule.getUI().getVersionsWindow().getVariantsWindow().ShowNoVariants();
        Global.mainModule.getUI().getVersionsWindow().getVariantsWindow().ShowNoVariantsFilter();
        Global.mainModule.getUI().getVersionsWindow().getVariantsWindow().ShowNoTotalVariantsCount();
        Global.mainModule.getUI().getVersionsWindow().getVariantsWindow().ShowNoFilteredVariantsCount();
        getAnalysisWindow().ShowNoMetrics();
        getAnalysisWindow().ShowNoRegions();
        getAnalysisWindow().ShowLoopsCount();
        getAnalysisWindow().ShowFunctionsCount();
        getAnalysisWindow().ShowArraysCount();
        getAnalysisWindow().ShowNoProjectMaxDim();
    }
    //---
    void ShowFile();
    void ShowNoFile();
    //---
    void GotoFile(String fileName, int line, boolean focus);
    void FocusFile();
    void FocusFileTabs();
    //-
    void FocusDependencies();
    void FocusArrays();
    void FocusFunctions();
    void FocusAnalysis();
    void FocusHierarchy();
    void FocusPoints();
    //-
    void RefreshTabsNames();
    void FocusVersions();
    //--
    void CollapseProjectTrees();
    void ExpandProjectTrees();
}
