public class DesktopFrame extends Object implements ClientUI
DesktopFrame implementa a interface principal do
sistema no lado cliente.| Modifier and Type | Field and Description |
|---|---|
protected AdminFrame |
adminFrame
A janela de administração do sistema.
|
protected csbase.logic.MonitoredServerListener |
connMonitorListener
Este Listener recebe as notificações quando a conexão com o servidor
perdida ou restabelecida.
|
protected DirectoryContentsPanel |
dirContentsPanel
Painel que exibe o conteúdo do diretório selecionado na árvore
|
protected NotificationPanel |
notifPanel
Painel de notificações.
|
protected ProjectTree |
projectTree
A árvore de diretórios do projeto aberto
|
protected JComponent |
projectTreePanel
Painel da árvore de projetos.
|
protected JSplitPane |
splitPaneBetweenAppAndNotif
JSplitPane que separa os frames das aplicações e o painel de notificações.
|
protected JSplitPane |
splitPaneBetweenTreeAndApp
JSplitPane que separa árvore de projetos e os frames das aplicações.
|
protected JSplitPane |
splitPaneBetweenTreeAndTable
JSplitPane que separa árvore de projetos e a tabela com os arquivos.
|
protected TreeFilterPanel |
treeFilterPanel
Painel de filtro para a árvore de projetos.
|
| Constructor and Description |
|---|
DesktopFrame()
Constrói a interface principal do cliente.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addWindow(DesktopWindowInterface win)
Registra uma janela cliente na janela principal.
|
String |
adjustTitle(String title)
Método para ajustar o título das janelas dependentes do tipo
DesktopComponentFrame.
|
protected void |
adjustTrayIcon()
Configura o ícone do cliente na barra do sistema.
|
boolean |
checkOpenableProject(Object projectId)
Verifica se projeto pode ser aberto (não está aguardando alocação de área
solicitada).
|
protected void |
configureDesktop()
Ajusta o desktop de acordo com as preferências.
|
protected JComponent |
createDirectoryContentsPanel()
Cria o painel de detalhes dos arquivos de um diretório.
|
protected JMenu |
createLookAndFeelDesktopSubmenu()
Constrói o submenu para alteração de L
&F do desktop. |
protected JComponent |
createNotificationPanel()
Cria o painel de notificações.
|
protected JMenuItem |
createProjectAutoUpdateItem()
Constrói o item de menu para configurar a atualização automática do
projeto.
|
protected JMenuItem |
createRestoreDesktopItem()
Constrói o item de menu para restaurar as configurações do desktop.
|
protected JMenuItem |
createShowTreeFilterItem()
Constrói o item de menu para configurar a exibição de um filtro dos nós da
árvore de projetos
|
protected TrayIcon |
createTrayIcon()
Cria o tray default do sistema.
|
protected JMenuItem |
createTrayIconItem()
Constrói o item de menu para habilitar/desabilitar o TrayIcon
|
protected JComponent |
createTreeFilterPanel()
Cria o painel de filtro para a árvore de projetos.
|
void |
displayTrayErrorMessage(String message) |
void |
displayTrayInfoMessage(String message) |
void |
displayTrayWarningMessage(String message) |
protected void |
enableIfAdminProject(JMenuItem item)
Habilita o gerencimento do projeto se o usuário logado for dono do mesmo ou
se for o administrador.
|
protected void |
enableIfProject(JComponent item)
Pendura um listener na árvore de projetos, que irá verificar, a cada vez
que um projeto for removido, se o usuário ainda possui projetos.
|
protected void |
enableIfProjectOpened(JComponent item)
Pendura um listener para na árvore de projetos que será notificado a cada
vez que um projeto for aberto ou fechado.
|
String |
getClientInstanceId()
Consulta um id do desktop conforme
Client.getClientInstanceId(). |
protected tecgraf.javautils.configurationmanager.Configuration |
getConfiguration()
Obtém a configuração da classe.
|
protected MenuItem |
getDefaultExitTrayMenuItem()
Retorna: item de menu (tray) para finalização do desktop; conforme atributo
defaultExitTrayMenuItem. |
protected CheckboxMenuItem |
getDefaultVisibilityTrayCheckMenuItem()
Retorna: item de menu (tray) para visibilidade do desktop; conforme
atributo
defaultVisibilityTrayCheckMenuItem . |
Image |
getDesktopErrorImage()
Obtém imagem de erro.
|
DesktopComponentFrame |
getDesktopFrame()
Consulta à janela Java (JFrame)
|
protected Image |
getDesktopFrameIcon()
Cria a imagem configurada para o Desktop com base na configuração do
cliente.
|
protected PreferenceCategory |
getDesktopPreferences()
Obtém as preferências do usuário para configuração do desktop.
|
String |
getFatherClientInstanceId()
Consulta um id do dektop originário da execução deste cliente conforme
Client.getFatherClientInstanceId(). |
csbase.logic.filetypefinder.FileTypeFinder |
getFileTypeFinder()
Consulta o file type finder da árvore de projetos
|
Image |
getFrameImage()
Método para consultar a imagem do desktop frame.
|
static DesktopFrame |
getInstance()
Consulta ao desktop criado na aplicação cliente.
|
JMenuBar |
getMenuBar()
Método para consultar o menu bar da janela.
|
csbase.logic.CommonClientProject |
getProject()
Obtém o projeto que está aberto na janela principal do desktop.
|
AbstractAction[] |
getRecentProjectOpenActions() |
Collection<csbase.logic.ProjectBasicInfo> |
getRecentProjects()
Obtem os
ProjectBasicInfo de projetos que foram recetemente
abertos pelo usuário |
String |
getTitle()
Método para consultar o título do desktop.
|
TrayIcon |
getTrayIcon()
Método que retorna o tray icon do sistema; se não tiver, retorna
null (sem tray). |
ProjectTree |
getTree()
Obtém a árvore do projeto aberto.
|
JFrame |
getView()
Obtém o componente gráfico concreto que representa esta UI.
|
boolean |
isDesktopVisible()
Consulta à visibilidade do desktop
|
boolean |
isTrayIconSupported()
Verifica se TrayIcon é suportado.
|
boolean |
mustUpdateProjectTree()
Indica se a árvore de projetos deve ser autualizada automaticamente.
|
csbase.logic.CommonClientProject |
openProject(Object projectId)
Abre um projeto.
|
csbase.logic.CommonClientProject |
openProjectCreationDialog(Window window)
Abre o diálogo de criação de projeto.
|
csbase.logic.CommonClientProject |
openProjectUpdateDialog(Window window,
csbase.logic.CommonClientProject project)
Abre o diálogo de update de projeto.
|
void |
postInitialization()
É chamado para inicializar a interface de usuário, quando a interface já
está sendo exibida.
|
void |
preInitialization(InitialContext initialContext)
É chamado para inicializar a interface de usuário, antes que a interface
seja exibida.
|
void |
removeWindow(DesktopWindowInterface win)
Descadastra uma janela da cliente janela principal.
|
protected void |
saveDesktopPreferences()
Salva as configurações do desktop do usuário.
|
void |
setCurrentProject(csbase.logic.CommonClientProject prj)
Ajusta o projeto corrente do desktop.
|
void |
setDesktopErrorImage(Image image)
Configura a imagem de erro.
|
void |
setDesktopVisible(boolean shown)
Ajuste de visibilidade do desktop
|
void |
setFrameImage(Image image)
Método para atribuir a imagem do desktop frame.
|
void |
setMenuBar(JMenuBar menuBar)
Método para atribuir o menu bar da janela.
|
void |
setShouldExpandDataset(boolean expandDataset)
Define se os arquivos internos de um dataset devem ser exibidos.
|
void |
setShowHiddenFiles(boolean showHiddenFiles)
Define se os arquivos ocultos devem ser exibidos.
|
protected void |
setTitle(String title)
Método para atribuir o título do desktop.
|
boolean |
shouldExpandDataset()
Indica se arquivos internos de um dataset devem ser exibidos.
|
boolean |
shouldShowHiddenFiles() |
protected void |
showDesktop()
Constrói e apresenta os componentes da interface principal do cliente.
|
void |
showUI()
Exibe a interface de usuário.
|
void |
shutdownDesktop()
Encerra a aplicação cliente principal.
|
protected void |
startServicesObservers()
Inicializa os observadores do usuário, dos projetos do usuário e dos
algoritmos
|
protected void |
stopServicesObservers()
Remove os observadores do usuário, dos projetos do usuário e dos algoritmos
|
boolean |
userHasOthersProject()
Verifica se o usuario logado participa de projetos de outros usuários
|
boolean |
userHasProject()
Verifica se o usuario logado possui projetos
|
protected AdminFrame adminFrame
protected DirectoryContentsPanel dirContentsPanel
protected NotificationPanel notifPanel
protected JComponent projectTreePanel
protected JSplitPane splitPaneBetweenTreeAndTable
protected JSplitPane splitPaneBetweenTreeAndApp
protected JSplitPane splitPaneBetweenAppAndNotif
protected ProjectTree projectTree
protected csbase.logic.MonitoredServerListener connMonitorListener
protected TreeFilterPanel treeFilterPanel
public DesktopFrame()
throws ClientException
ClientException - Caso ocorra falha na construção do clientecsbase.exception.ConfigurationException - Caso ocorra falha na obtenção do gerente de
configuração.public String adjustTitle(String title)
title - títuloprotected final void setTitle(String title)
title - títulopublic String getTitle()
public void setFrameImage(Image image)
image - a imagem da janela do desktop.public Image getDesktopErrorImage()
public void setDesktopErrorImage(Image image)
image - a imagempublic Image getFrameImage()
public void setMenuBar(JMenuBar menuBar)
menuBar - o menupublic JMenuBar getMenuBar()
public void shutdownDesktop()
protected void configureDesktop()
protected void saveDesktopPreferences()
protected PreferenceCategory getDesktopPreferences()
public boolean mustUpdateProjectTree()
public void addWindow(DesktopWindowInterface win)
win - Uma nova janela registradapublic void removeWindow(DesktopWindowInterface win)
win - A janela que deve ser removida da janela principal.public DesktopComponentFrame getDesktopFrame()
public boolean userHasProject()
true se o usuário possui projetospublic boolean userHasOthersProject()
true se o usuário participa de projetos de outros
usuáriosprotected void enableIfProject(JComponent item)
item - componente da interface, geralmente um menu ou um botão.public final csbase.logic.filetypefinder.FileTypeFinder getFileTypeFinder()
protected void enableIfProjectOpened(JComponent item)
item - item componente da interface, geralmente um menu ou um botão.protected void enableIfAdminProject(JMenuItem item)
item - .public static DesktopFrame getInstance()
protected void showDesktop()
public csbase.logic.CommonClientProject getProject()
public ProjectTree getTree()
protected void startServicesObservers()
throws ClientException
ClientException - Caso ocorra falha na inicialização dos observadoresprotected void stopServicesObservers()
protected Image getDesktopFrameIcon()
public boolean isTrayIconSupported()
public final void setDesktopVisible(boolean shown)
shown - ajuste a ser feito.public final boolean isDesktopVisible()
protected final CheckboxMenuItem getDefaultVisibilityTrayCheckMenuItem()
defaultVisibilityTrayCheckMenuItem .protected final MenuItem getDefaultExitTrayMenuItem()
defaultExitTrayMenuItem.protected TrayIcon createTrayIcon()
public void preInitialization(InitialContext initialContext)
ClientRemoteMonitor.preInitialization in interface ClientUIinitialContext - O contexto inicial de execução da interface de
usuário.public void showUI()
protected void adjustTrayIcon()
public void postInitialization()
postInitialization in interface ClientUIpublic JFrame getView()
public boolean checkOpenableProject(Object projectId)
projectId - id do projeto a ser verificado.public csbase.logic.CommonClientProject openProject(Object projectId)
projectId - Identificador do projeto.public Collection<csbase.logic.ProjectBasicInfo> getRecentProjects()
ProjectBasicInfo de projetos que foram recetemente
abertos pelo usuárioProjectBasicInfo de projetos que foram
recetemente abertos pelo usuário ou null no caso de uma
exceção dentro da task de busca no RecentProjectsManagerpublic AbstractAction[] getRecentProjectOpenActions()
protected JMenuItem createRestoreDesktopItem()
protected JMenu createLookAndFeelDesktopSubmenu()
&F do desktop.protected JMenuItem createProjectAutoUpdateItem()
protected JMenuItem createShowTreeFilterItem()
protected JMenuItem createTrayIconItem()
protected JComponent createNotificationPanel()
protected JComponent createDirectoryContentsPanel()
protected JComponent createTreeFilterPanel()
protected final tecgraf.javautils.configurationmanager.Configuration getConfiguration()
public void setShowHiddenFiles(boolean showHiddenFiles)
showHiddenFiles - - true se os arquivos devem ser exibidospublic boolean shouldShowHiddenFiles()
public void setShouldExpandDataset(boolean expandDataset)
expandDataset - - true se os arquivos restritos (internos a um
diretório com semântica) devem ser exibidospublic boolean shouldExpandDataset()
public final TrayIcon getTrayIcon()
null (sem tray). Ao redefinir o método createTrayIcon(), o
sistema indica se usará tray ou não (e como esse é montado).
O desktop CSBASE verifica se o S.O. possui tal funcionalidade (método
SystemTray.isSupported())null) se o desktop não tiver tray icon.public final void displayTrayInfoMessage(String message)
message - mensagempublic final void displayTrayWarningMessage(String message)
message - mensagempublic final void displayTrayErrorMessage(String message)
message - mensagempublic csbase.logic.CommonClientProject openProjectCreationDialog(Window window)
window - Janela pai do diálogo.public csbase.logic.CommonClientProject openProjectUpdateDialog(Window window, csbase.logic.CommonClientProject project)
window - Janela pai do diálogo.project - O projeto a ser alterado.public final String getClientInstanceId()
Client.getClientInstanceId().public final String getFatherClientInstanceId()
Client.getFatherClientInstanceId().public final void setCurrentProject(csbase.logic.CommonClientProject prj)
prj - projeto a ser ajustado como correnteCopyright © 2020. All rights reserved.