убирание недоступных пользователю вкладок, и настроек
This commit is contained in:
2025-02-28 21:48:51 +03:00
parent 33f3d615da
commit 4441864b6f
6 changed files with 84 additions and 67 deletions

View File

@@ -1,4 +1,5 @@
package _VisualDVM.Visual.Interface;
import _VisualDVM.ComponentsServer.UserAccount.AccountRole;
public interface MainWindow {
void Show();
void ShowProject();
@@ -16,8 +17,10 @@ public interface MainWindow {
void FocusCredentials();
void FocusTests();
void FocusTesting();
void SwitchTestingTabs(boolean flag);
void SwitchAdministrationTab(boolean flag);
//-
void ShowCheckedTestsCount();
void ShowUndefinedTabs();
void ShowUserTabs();
void ShowDeveloperTabs();
void ShowAdminTabs();
}

View File

@@ -102,8 +102,7 @@ public class MainUI extends UIModule_ {
//---
void showUndefinedRights(){
Global.mainModule.SetUserPassesAccess();
getMainWindow().SwitchTestingTabs(false);
getMainWindow().SwitchAdministrationTab(false);
getMainWindow().ShowUndefinedTabs();
getTestingMenuBar().showServerAdminLabel(false);
getMainWindow().getCallbackWindow().showNoBugReports();
Global.normalProperties.setControlVisible("AutoBugReportsLoad", false);
@@ -111,8 +110,7 @@ public class MainUI extends UIModule_ {
};
void showUserRights(){
Global.mainModule.SetUserPassesAccess();
getMainWindow().SwitchTestingTabs(false);
getMainWindow().SwitchAdministrationTab(false);
getMainWindow().ShowUserTabs();
getTestingMenuBar().showServerAdminLabel(false);
getMainWindow().getCallbackWindow().showMyOnlyBugReports();
Global.normalProperties.setControlVisible("AutoBugReportsLoad", true);
@@ -120,8 +118,7 @@ public class MainUI extends UIModule_ {
};
void showDeveloperRights(){
Global.mainModule.SetDeveloperPassesAccess();
getMainWindow().SwitchTestingTabs(true);
getMainWindow().SwitchAdministrationTab(false);
getMainWindow().ShowDeveloperTabs();
getTestingMenuBar().showServerAdminLabel(false);
getMainWindow().getCallbackWindow().showAllBugreports();
Global.normalProperties.setControlVisible("AutoBugReportsLoad", true);
@@ -129,8 +126,7 @@ public class MainUI extends UIModule_ {
}
void showAdminRights(){
Global.mainModule.SetAdminPassesAccess();
getMainWindow().SwitchTestingTabs(true);
getMainWindow().SwitchAdministrationTab(true);
getMainWindow().ShowAdminTabs();
getTestingMenuBar().showServerAdminLabel(true);
getMainWindow().getCallbackWindow().showAllBugReportsAdmin(); //метод избыточный. возможно.
Global.normalProperties.setControlVisible("AutoBugReportsLoad", true);

View File

@@ -18,13 +18,13 @@ public class MainForm extends Form implements MainWindow {
private final WelcomeForm welcomeForm = new WelcomeForm(); //заглушка когда проекта нет.
int global_index = 0;
//-----------------
private ProjectForm projectForm;
private CallbackForm callbackForm;
private CredentialsForm credentialsForm;
private TestsForm testsForm;
//---
private TestingForm testingForm;
private AdministrationForm administrationForm;
private ProjectForm projectForm = null;
private CallbackForm callbackForm = null;
private CredentialsForm credentialsForm = null; //машины пользователи компиляторы
//--- формы которые появлятся от прав
private TestsForm testsForm = null;
private TestingForm testingForm = null;
private AdministrationForm administrationForm = null;
//-----------------
private JPanel Content;
private JTabbedPane globalTabs;
@@ -34,9 +34,6 @@ public class MainForm extends Form implements MainWindow {
InstallWelcomePanel();
InstallCallbackPanel();
InstallCredentialsPanel();
InstallTestsPanel();
InstallTestingPanel();
InstallAdministrationPanel();
ShowUpdatesIcon();
//----------------------
}
@@ -127,25 +124,12 @@ public class MainForm extends Form implements MainWindow {
(credentialsForm = new CredentialsForm()).getContent(),
"Машины, пользователи и компиляторы", 2);
}
private void InstallTestsPanel() {
globalTabs.insertTab("Тесты",
Utils_.getIcon("/Common/icons/Library.png"),
(testsForm = new TestsForm()).getContent(),
"Библиотека тестов на сервере", 3);
}
private void SaveTestsPanel() {
if (testsForm != null) {
testsForm.SaveSplitters();
testsForm = null;
}
}
private void InstallTestingPanel() {
testingForm = new TestingForm();
globalTabs.insertTab("Тестирование",
Utils_.getIcon("/icons/Testing.png"),
testingForm.getContent(),
"Система тестирования", 4);
}
@Override
public void ShowCheckedTestsCount() {
int res = 0;
@@ -190,10 +174,6 @@ public class MainForm extends Form implements MainWindow {
return callbackForm;
}
@Override
public TestsWindow getTestsWindow() {
return testsForm;
}
@Override
public void ShowUpdatesIcon() {
Global.mainModule.getUI().mainMenuBar.ShowUpdatesIcon();
}
@@ -218,31 +198,16 @@ public class MainForm extends Form implements MainWindow {
globalTabs.setSelectedIndex(4);
}
@Override
public void SwitchTestingTabs(boolean flag) {
globalTabs.setEnabledAt(3, flag);
globalTabs.setEnabledAt(4, flag);
}
@Override
public void SwitchAdministrationTab(boolean flag) {
globalTabs.setEnabledAt(5, flag);
}
@Override
public TestingWindow getTestingWindow() {
return testingForm;
}
@Override
public AdministrationWindow getAdministrationWindow() {
return administrationForm;
}
@Override
public void Show() {
//приходится идти на это только ПОСЛЕ создания главного окна.
// иначе ссылка на главное окно в методах пустая.
Global.mainModule.getUI().ShowAccount();
getCallbackWindow().ShowAll();
getTestsWindow().ShowAll();
getCredentialsWindow().ShowAll();
if (getTestingWindow() != null)
//--->>>
if (testsForm != null)
getTestsWindow().ShowAll();
if (testingForm != null)
getTestingWindow().ShowAll();
if (Global.mainModule.getAccount().isAdmin())
getAdministrationWindow().ShowAll();
@@ -272,16 +237,66 @@ public class MainForm extends Form implements MainWindow {
restoreGlobalTab();
Global.mainModule.getUI().mainMenuBar.ShowProject(false);
}
private void InstallAdministrationPanel() {
globalTabs.insertTab("Администрирование",
Utils_.getIcon("/icons/Subscribe.png"),
(administrationForm = new AdministrationForm()).getContent(),
"Подписчики", 5);
}
private void SaveAdministrationPanel() {
if (administrationForm != null) {
administrationForm.SaveSplitters();
administrationForm = null;
}
}
//--
@Override
public TestsWindow getTestsWindow() {
if (testsForm == null)
testsForm = new TestsForm();
return testsForm;
}
@Override
public TestingWindow getTestingWindow() {
if (testingForm == null)
testingForm = new TestingForm();
return testingForm;
}
@Override
public AdministrationWindow getAdministrationWindow() {
if (administrationForm==null)
administrationForm= new AdministrationForm();
return administrationForm;
}
@Override
public void ShowUndefinedTabs()
{
//ничего не делаем. лишних панелей и так нет.
}
@Override
public void ShowUserTabs() {
//тоже ничего не делаем.
}
@Override
public void ShowDeveloperTabs() {
//добавить вкладки тестов и тестирования
globalTabs.insertTab("Тесты",
Utils_.getIcon("/Common/icons/Library.png"),
getTestsWindow().getContent(),
"Библиотека тестов на сервере", 3);
globalTabs.insertTab("Тестирование",
Utils_.getIcon("/icons/Testing.png"),
getTestingWindow().getContent(),
"Система тестирования", 4);
}
@Override
public void ShowAdminTabs() {
//добавить вкладки тестов, тестирования, администрирования
globalTabs.insertTab("Тесты",
Utils_.getIcon("/Common/icons/Library.png"),
getTestsWindow().getContent(),
"Библиотека тестов на сервере", 3);
globalTabs.insertTab("Тестирование",
Utils_.getIcon("/icons/Testing.png"),
getTestingWindow().getContent(),
"Система тестирования", 4);
globalTabs.insertTab("Администрирование",
Utils_.getIcon("/icons/Subscribe.png"),
getAdministrationWindow().getContent(),
"Подписчики", 5);
}
}