Referente: Lista N° 3
Matéria: Interfaces Gráficas
Aluno:
Projeto Funcional do seu editor gráfico:
Diálogo e Visual
· Menu
· Icônica
Para projetar nosso desenho visual foram reconsiderados os objetos e as operações sobre os objetos a serem realizadas no editor gráfico solicitado no exercicio da Lista N° 2. Assim.
Objetos: linha, triângulo, retângulo, circunferência e arquivo.
Operações sobre os objetos:
· Linha.- criar, deletar, mover extremos, mover linha, mudar estilo.
· Triângulo.- criar, deletar, mover triângulo, mudar estilo.
· Circunferência.- criar, deletar, mover circunferência, mudar estilo.
· Retângulo.- Criar, deletar, mover retângulo, mudar estilo.
· Arquivo.- Abrir, Salvar, Imprimir.
Como mostrado, além de considerar os objetos: linha, circunferência, triângulo e retângulo, foi adicionada também a posibilidade de armazenagem da informação criada e/ou editada.
Desta maneira projetamos a seguinte tela para a apresentação
do nosso editor.
Figura1: Desenho da tela do editor gráfico
Figura2: Submenus hierárquicos
As regras usadas para organizar os ícones e menus foram:
· Proximidade
· fechadura
· Balanceamento
· Como pode ser observado foi incluída no menu principal, a opção de Ajuda na
qual será fornecido um manual de auxílio para o usuário. Além disso quando
apontada a entidade (ícone ou menu) será mostrada uma descrição breve do
comando ou tarefa. Estas considerações visam acomodar os diferentes níveis de
habilidades dos usuários.
· Para minimizar as possibilidades de erro, será considerado um estado em que
somente os comandos aplicáveis ao objeto selecionado estejam habilitados.
· Para recuperar erro, será considerada a possibilidade de cancelar o comando.
Por exemplo gravar e deletar.
Figura 3: Desenho da tela do editor gráfico
Disciplina : IA369J
Luiz Fernando Stein Wetzel
Projeto Funcional do seu editor gráfico.
Diálogo, visual.
Classe CIA369Jdoc
Descrição: Objeto onde são armazenados os dados. Estes dados serão salvos e recuperados de arquivos.
Descrição: Adiciona uma reta com atributos default no documento
Feedback: A nova reta é mostrada na tela
Erros: Nenhum
Função: New_triangle
Parametros: Nenhum
Descrição: Adiciona um triângulo com atributos default no documento
Feedback: O novo triângulo é mostrado na tela
Erros: Nenhum
Função: New_rectangle
Parametros: Nenhum
Descrição: Adiciona um retângulo com atributos default no documento
Feedback: O novo retângulo é mostrado na tela
Erros: Nenhum
Função: New_circle
Parametros: Nenhum
Descrição: Adiciona um círculo com atributos default no documento
Feedback: O novo círculo é mostrado na tela
Erros: Nenhum
Função: Move_up
Parâmetros: Referência a um objeto gráfico (reta, triângulo, retângulo ou circulo)
Descrição: Move objeto um nível acima no eixo z.
Feedback: O objeto é redesenhado na nova posição
Erros: Quando o objeto já está no topo.
Função: Move_down
Parâmetros: Referência a um objeto gráfico (reta, triângulo, retângulo ou circulo)
Descrição: Move objeto um nível abaixo no eixo z.
Feedback: O objeto é redesenhado na nova posição
Erros: Quando o objeto já está na base.
Função: Move_top
Parâmetros: Referência a um objeto gráfico (reta, triângulo, retângulo ou circulo)
Descrição: Move objeto para o topo (eixo z)
Feedback: O objeto é redesenhado na nova posição
Erros: Nenhum.
Função: Move_bottom
Parâmetros: Referência a um objeto gráfico (reta, triângulo, retângulo ou circulo)
Descrição: Move objeto para o fundo (eixo z)
Feedback: O objeto é redesenhado na nova posição
Erros: Nenhum.
Classe CGraphObj
Descrição: Objeto gráfico genérico. Os objetos específicos são derivados deste e devem implementar as funções virtuais descritas a seguir.
Data Member: m_cor
Tipo: COLORREF
Descrição: define a cor do objeto
Data Member: m_ptRef
Tipo: POINT
Descrição: Ponto de referêcia.Todos outras coordenadas que o objeto define devem ser em relação a este ponto.
Data Member: m_zorder
Tipo: LONG
Descrição: Indica a posição do objeto no eixo z. A função Draw deve ser chamada em ordem crescente de zorder.
Data Member: m_deleted
Tipo: BOOL
Descrição: Indica que o objeto foi "deletado", não devendo portantos ser desenhado ou salvo em arquivo. Este flag é colocado para facilitar a implementação da pilha de Undo.
Função: Move
Parâmetros: Nova Posição
Descrição: Move objeto para nova posição
Feedback: O objeto é redesenhado na nova posição
Erros: Nenhum.
Função: Draw
Tipo: Virtual
Parâmetros: pDC - Contexto onde deve ser desenhado o objeto.
bSelected – TRUE - Desenha objeto selecionado
FALSE - Desenha objeto não selecionado
Descrição: Desenha o objeto.
Feedback: O desenho do objeto.
Erros: Nenhum.
Função: Test_point
Tipo: Virtual
Parâmetros: pt - Ponto que deve ser testado.
Descrição: Testa um ponto.
Feedback: O cursor do mouse deve ser desenhado de acordo com o retorno desta função.
Retorno: Valor formado a partir dos seguites bits:
PTTEST_INSIDE - Ponto interno ao objeto
PTTEST_HANDLE - Ponto pertence a um handle (pode ser arrastado para alterar a forma de um objeto)
PTTEST_BOUND_RECT - Ponto pertence ao retângulo que envolve a figura.
Erros: Nenhum
Função: Grab_point
Tipo: Virtual
Parâmetros: pt - Ponto que será movido.
Descrição: Inicia uma operação de movimentação ou alteração da forma de um objeto através do mouse.
Feedback: O objeto gráfico deve ser redesenhado na nova
posição ou com a nova forma quando a função
Move_point for
chamada.
Retorno: TRUE se arrastar o ponto pt for alterar o objeto em questão
FALSE se pt não deslocar nem deformar o objeto
Erros: Nenhum
Função: Release_point
Tipo: Virtual
Parâmetros: pt - Posição final do ponto que estava sendo arrastado
Success - TRUE – Finaliza a operação
- FALSE – Cancela a operação
Descrição: Finaliza uma operação de drag and drop de um objeto. Termina um comando de drag and drop iniciado com a chamada de Grab_point.
Feedback: O objeto deve ser desenhado na sua posição final (em caso de sucesso) ou voltar para sua posição de origem (caso o comando seja cancelado, ou seja Success = FALSE)
Retorno : O retângulo que engloba a área que deve ser redesenhada.
Erros: Nenhum
Função: Move_point
Tipo: Virtual
Parâmetros: pt - Posição para onde o ponto indicado em Grab_point foi movido.
Descrição: Esta função deve ser chamada após a chamada de Grab_point quando o mouse é movido. Quando for chamada a função Draw a figura desenhada deve refletir este estado.
Retorno: Retângulo que engloba a área que deve ser redesenhada.
Erros: Nenhum
Função: Show_properties
Tipo: Virtual
Parâmetros: Nenhum
Descrição: Mostra um diálogo que apresenta e permite alteração das propriedades do objeto.
Feedback: O diálogo é apresentado
Retorno: TRUE – houve alteração de propriedades.
FALSE – não houve alteração de propriedades.
Erros: Nenhum
Classe CLineObj : public CGraphObj
Data Member: m_pt1, m_pt2;
Tipo: POINT
Descrição: Extremos da reta. A posição dos pontos é relativa a ptRef.
Data Member: m_style
Tipo: LONG
Descrição: Define o estilo da reta.
Data Member: m_pDefaultProps
Tipo: CLineObj* ( static )
Descrição: Membro estático que contém as propriedades default.
Classe CTriangObj : public CGraphObj
Data Member: m_pt1, m_pt2, m_pt3;
Tipo: POINT
Descrição: Vértices do triângulo
Data Member: m_pDefaultProps
Tipo: CTriangObj * ( static )
Descrição: Membro estático que contém as propriedades default.
Classe CRectObj : public CGraphObj
Data Member: m_left, m_top, m_bottom, m_right;
Tipo: LONG
Descrição: Lados do retângulo
Data Member: m_pDefaultProps
Tipo: CRectObj * ( static )
Descrição: Membro estático que contém as propriedades default.
Classe CCircleObj : public CGraphObj
Data Member: m_center;
Tipo: POINT
Descrição: Centro do círculo
Data Member: m_radius;
Tipo: LONG
Descrição: Raio do círculo
Data Member: m_pDefaultProps
Tipo: CCircleObj * ( static )
Descrição:
Membro estático que contém as propriedades default.
Referente: IA369J – Lista N° 3 – Projeto Funcional
Alunos: Jorge Kawamura e Paulo Guilherme Seifer
Projeto Visual
Este é um esboço da interface do aplicativo gráfico 2D, este esboço foi desenvolvido dentro do Delphi.
Observação: já que as figuras abaixo são apenas esboços (pré projetos) visuais, isto é, são idéias do projeto visual (Interface homem máquina), estes poderão ser alterados no decorrer do seu desenvolvimento.
Podemos notar que (Figura acima) que o projeto visual consiste em uma área de desenho, alguns dos botões aceleradores, caixa de edição de comandos e uma barra de status, cada um destes items correspondem a: local onde podemos inserir as primitivas; botões que substituem as linhas comandos, onde ao clicarmos no botão desejado este realizará a linha de comando; colocar o comando desejado via teclado o e programa interpretará o conteúdo digitado e indicará o status de cada comando, isto é, indicará o comando selecionado, se o usuário necessita colocar algum valor ou exibirá alguma mensagem do sistema.
As figuras acima consistem na exibição do conteúdo do Menu.
Referente: 2 – Projeto Funcional
Aluno: Harlen C. Batagelo
2.1 - PROJETO DE DIÁLOGO
O editor é composto de uma barra de menu, uma barra de status, uma barra de ferramentas de comandos, uma barra de ferramentas de seleção de cores e uma barra de ferramentas de seleção de largura e estilo das linhas. O alfabeto visual segue aquele utilizado pelo MS Windows 95. Os botões das barras de ferramentas seguem o estilo do MS Office 97/Internet Explorer, isto é, com relevo ativado somente quando o cursor do mouse é posicionado sobre os mesmos.
Todas as barras de ferramentas possuem tooltips e podem ser posicionadas em qualquer lugar da janela. Os comandos de manipulação de arquivos, exibição de barras de ferramentas e seleção de ferramentas possuem teclas aceleradoras.
2.2.1 - MENU
O editor possui uma barra
de menu principal, localizada na parte superior da janela, contendo os
seguintes comandos:
File
New (Ctrl+N) Open (Ctrl+O) Save (Ctrl+S) Exit (Esc) |
“Menu de arquivo”
“Apaga área cliente e inicia um novo desenho” “Abre arquivo de desenho” “Salva em arquivo o desenho atual” “Sai do editor” |
View
Tool bar (Alt+F1) Style bar (Alt+F2) Color bar (Alt+F3) |
“Menu de visualização
das barras de ferramentas”
“Exibe ou oculta barra de comandos” “Exibe ou oculta barra de estilos e larguras das linhas” “Exibe ou oculta barra de cores” |
Tool
Pick (F1) Erase (F2) Rotate (F3) Line (F4) Triangle (F5) Rectangle (F6) Circle (F7) |
“Menu de ferramentas”
“Seleciona ferramenta de seleção, translação e alteração dos pontos de controle” “Seleciona ferramenta para apagar primitivas” "Seleciona ferramenta para rotacionar primitivas" “Seleciona ferramenta para criar linhas” "Seleciona ferramenta para criar triângulos” "Seleciona ferramenta para criar retângulos” "Seleciona ferramenta para criar círculos” |
Width
Very Thin Thin Medium Thick Very Thick |
“Menu de formatação
da largura das linhas”
“Seleciona largura muito fina (1 pixel)” "Seleciona largura fina (8 pixels)” “Seleciona largura média (16 pixels)” “Seleciona largura grossa (24 pixels)” “Seleciona largura muito grossa (32 pixels)” |
Pen Style
Solid Dash Dot |
“Menu de formatação
do estilo das linhas”
“Seleciona estilo sólido” “Seleciona estilo tracejado” “Seleciona estilo pontilhado” |
Color
(Retângulo preto) (Retângulo azul) (Retângulo verde) (Retângulo ciano) (Retângulo vermelho) (Retângulo magenta) (Retângulo amarelo) (Retângulo branco) |
“Menu de formatação
das cores das linhas”
“Seleciona cor preta” “Seleciona cor azul” “Seleciona cor verde” “Seleciona cor ciana” “Seleciona cor vermelha” “Seleciona cor magenta” “Seleciona cor amarela” “Seleciona cor branca |
2.2.2 - BARRA DE FERRAMENTAS
Por default, a barra de ferramentas
de comandos é localizada na parte esquerda da janela. A barra de
ferramentas de seleção de cores e a barra de ferramentas
de seleção de largura e estilo das linhas ficam localizadas
na parte inferior da janela.
Barra de seleção
de comandos
Ícone “Pick” Ícone “Erase” Ícone "Rotate" Ícone “Line” Ícone “Triangle” Ícone “Rectangle” Ícone “Circle” |
“Seleciona ferramenta de seleção, translação, etc.” “Seleciona ferramenta para apagar primitivas” "Seleciona ferramenta para rotacionar primitivas" “Seleciona ferramenta para criar linhas” “Seleciona ferramenta para criar triângulos” “Seleciona ferramenta para criar retângulos” “Seleciona ferramenta para criar círculos” |
Barra de seleção
do estilo das linhas
Ícone “Very thin” Ícone “Thin” Ícone “Medium” Ícone “Thick” Ícone “Very thick” |
“Seleciona largura muito fina (1 pixel)” “Seleciona largura fina (8 pixels)” “Seleciona largura média (16 pixels)” “Seleciona largura grossa (24 pixels)” “Seleciona largura muito grossa (32 pixels)” |
Barra de seleção
do estilo das linhas
Ícone “Solid” Ícone “Dash” Ícone “Dot” |
“Seleciona estilo sólido” “Seleciona estilo tracejado” “Seleciona estilo pontilhado” |
2.2.3 - BARRA DE STATUS
A barra de status fica localizada na parte inferior da janela, exibindo a descrição da funcionalidade de cada comando à medida que o usuário posiciona o cursor do mouse nos comandos do menu ou das barras de ferramentas.