public class DesktopFrame extends java.lang.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 javax.swing.JComponent |
projectTreePanel
Painel da árvore de projetos.
|
protected javax.swing.JSplitPane |
splitPaneBetweenAppAndNotif
JSplitPane que separa os frames das aplicações e o painel de notificações.
|
protected javax.swing.JSplitPane |
splitPaneBetweenTreeAndApp
JSplitPane que separa árvore de projetos e os frames das aplicações.
|
protected javax.swing.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.
|
java.lang.String |
adjustTitle(java.lang.String title)
Método para ajustar o título das janelas dependentes do tipo
DesktopComponentFrame.
|
boolean |
checkOpenableProject(java.lang.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 javax.swing.JComponent |
createDirectoryContentsPanel()
Cria o painel de detalhes dos arquivos de um diretório.
|
protected javax.swing.JMenu |
createLookAndFeelDesktopSubmenu()
Constrói o submenu para alteração de L&F do desktop.
|
protected javax.swing.JComponent |
createNotificationPanel()
Cria o painel de notificações.
|
protected javax.swing.JMenuItem |
createProjectAutoUpdateItem()
Constrói o item de menu para configurar a atualização automática do
projeto.
|
protected javax.swing.JMenuItem |
createRestoreDesktopItem()
Constrói o item de menu para restaurar as configurações do desktop.
|
protected javax.swing.JMenuItem |
createShowTreeFilterItem()
Constrói o item de menu para configurar a exibição de um filtro dos nós da
árvore de projetos
|
protected java.awt.TrayIcon |
createTrayIcon()
Cria o tray default do sistema.
|
protected javax.swing.JComponent |
createTreeFilterPanel()
Cria o painel de filtro para a árvore de projetos.
|
void |
displayTrayErrorMessage(java.lang.String message) |
void |
displayTrayInfoMessage(java.lang.String message) |
void |
displayTrayWarningMessage(java.lang.String message) |
protected void |
enableIfAdminProject(javax.swing.JMenuItem item)
Habilita o gerencimento do projeto se o usuário logado for dono do mesmo ou
se for o administrador.
|
protected void |
enableIfProject(javax.swing.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(javax.swing.JComponent item)
Pendura um listener para na árvore de projetos que será notificado a cada
vez que um projeto for aberto ou fechado.
|
java.lang.String |
getClientInstanceId()
Consulta um id do desktop conforme
Client.getClientInstanceId(). |
protected tecgraf.javautils.configurationmanager.Configuration |
getConfiguration()
Obtém a configuração da classe.
|
protected java.awt.MenuItem |
getDefaultExitTrayMenuItem()
Retorna: item de menu (tray) para finalização do desktop; conforme atributo
defaultExitTrayMenuItem. |
protected java.awt.CheckboxMenuItem |
getDefaultVisibilityTrayCheckMenuItem()
Retorna: item de menu (tray) para visibilidade do desktop; conforme
atributo
defaultVisibilityTrayCheckMenuItem . |
java.awt.Image |
getDesktopErrorImage()
Obtém imagem de erro.
|
DesktopComponentFrame |
getDesktopFrame()
Consulta à janela Java (JFrame)
|
protected java.awt.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.
|
java.lang.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
|
java.awt.Image |
getFrameImage()
Método para consultar a imagem do desktop frame.
|
static DesktopFrame |
getInstance()
Consulta ao desktop criado na aplicação cliente.
|
javax.swing.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.
|
javax.swing.AbstractAction[] |
getRecentProjectOpenActions() |
java.util.Collection<csbase.logic.ProjectBasicInfo> |
getRecentProjects()
Obtem os
ProjectBasicInfo de projetos que foram recetemente
abertos pelo usuário |
java.lang.String |
getTitle()
Método para consultar o título do desktop.
|
java.awt.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.
|
javax.swing.JFrame |
getView()
Obtém o componente gráfico concreto que representa esta UI.
|
boolean |
isDesktopVisible()
Consulta à visibilidade do desktop
|
boolean |
mustUpdateProjectTree()
Indica se a árvore de projetos deve ser autualizada automaticamente.
|
csbase.logic.CommonClientProject |
openProject(java.lang.Object projectId)
Abre um projeto.
|
csbase.logic.CommonClientProject |
openProjectCreationDialog(java.awt.Window window)
Abre o diálogo de criação de projeto.
|
csbase.logic.CommonClientProject |
openProjectUpdateDialog(java.awt.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(java.awt.Image image)
Configura a imagem de erro.
|
void |
setDesktopVisible(boolean shown)
Ajuste de visibilidade do desktop
|
void |
setFrameImage(java.awt.Image image)
Método para atribuir a imagem do desktop frame.
|
void |
setMenuBar(javax.swing.JMenuBar menuBar)
Método para atribuir o menu bar da janela.
|
void |
setShowHiddenFiles(boolean showHiddenFiles)
Define se os arquivos ocultos devem ser exibidos.
|
protected void |
setTitle(java.lang.String title)
Método para atribuir o título do desktop.
|
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 javax.swing.JComponent projectTreePanel
protected javax.swing.JSplitPane splitPaneBetweenTreeAndTable
protected javax.swing.JSplitPane splitPaneBetweenTreeAndApp
protected javax.swing.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 java.lang.String adjustTitle(java.lang.String title)
title - títuloprotected final void setTitle(java.lang.String title)
title - títulopublic java.lang.String getTitle()
public void setFrameImage(java.awt.Image image)
image - a imagem da janela do desktop.public java.awt.Image getDesktopErrorImage()
public void setDesktopErrorImage(java.awt.Image image)
image - a imagempublic java.awt.Image getFrameImage()
public void setMenuBar(javax.swing.JMenuBar menuBar)
menuBar - o menupublic javax.swing.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(javax.swing.JComponent item)
item - componente da interface, geralmente um menu ou um botão.public final csbase.logic.filetypefinder.FileTypeFinder getFileTypeFinder()
protected void enableIfProjectOpened(javax.swing.JComponent item)
item - item componente da interface, geralmente um menu ou um botão.protected void enableIfAdminProject(javax.swing.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 java.awt.Image getDesktopFrameIcon()
public final void setDesktopVisible(boolean shown)
shown - ajuste a ser feito.public final boolean isDesktopVisible()
protected final java.awt.CheckboxMenuItem getDefaultVisibilityTrayCheckMenuItem()
defaultVisibilityTrayCheckMenuItem .protected final java.awt.MenuItem getDefaultExitTrayMenuItem()
defaultExitTrayMenuItem.protected java.awt.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()
public void postInitialization()
postInitialization in interface ClientUIpublic javax.swing.JFrame getView()
public boolean checkOpenableProject(java.lang.Object projectId)
projectId - id do projeto a ser verificado.public csbase.logic.CommonClientProject openProject(java.lang.Object projectId)
projectId - Identificador do projeto.public java.util.Collection<csbase.logic.ProjectBasicInfo> getRecentProjects()
ProjectBasicInfo de projetos que foram recetemente
abertos pelo usuárioProjectBasicInfo de projetos que foram
recetemente abertos pelo usuáriopublic javax.swing.AbstractAction[] getRecentProjectOpenActions()
protected javax.swing.JMenuItem createRestoreDesktopItem()
protected javax.swing.JMenu createLookAndFeelDesktopSubmenu()
protected javax.swing.JMenuItem createProjectAutoUpdateItem()
protected javax.swing.JMenuItem createShowTreeFilterItem()
protected javax.swing.JComponent createNotificationPanel()
protected javax.swing.JComponent createDirectoryContentsPanel()
protected javax.swing.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 final java.awt.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(java.lang.String message)
message - mensagempublic final void displayTrayWarningMessage(java.lang.String message)
message - mensagempublic final void displayTrayErrorMessage(java.lang.String message)
message - mensagempublic csbase.logic.CommonClientProject openProjectCreationDialog(java.awt.Window window)
window - Janela pai do diálogo.public csbase.logic.CommonClientProject openProjectUpdateDialog(java.awt.Window window,
csbase.logic.CommonClientProject project)
window - Janela pai do diálogo.project - O projeto a ser alterado.public final java.lang.String getClientInstanceId()
Client.getClientInstanceId().public final java.lang.String getFatherClientInstanceId()
Client.getFatherClientInstanceId().public final void setCurrentProject(csbase.logic.CommonClientProject prj)
prj - projeto a ser ajustado como correnteCopyright © 2015. All Rights Reserved.