diff --git a/ide/src/main/java/br/univali/ps/nucleo/Configuracoes.java b/ide/src/main/java/br/univali/ps/nucleo/Configuracoes.java index 8d45dcc9c..1b3d112b4 100644 --- a/ide/src/main/java/br/univali/ps/nucleo/Configuracoes.java +++ b/ide/src/main/java/br/univali/ps/nucleo/Configuracoes.java @@ -1,5 +1,6 @@ package br.univali.ps.nucleo; +import br.univali.ps.ui.swing.weblaf.jOptionPane.QuestionDialog; import br.univali.ps.ui.telas.TelaPrincipal; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; @@ -355,7 +356,7 @@ public void restartApplication() } else { - JOptionPane.showMessageDialog(telaPrincipal, "Você deve fechar todas as abas de código antes de reiniciar", "Portugol Studio", JOptionPane.INFORMATION_MESSAGE); + QuestionDialog.getInstance().showMessage("Você deve fechar todas as abas de código antes de reiniciar"); if(temaPortugol.equals("Dark")) { setTemaPortugol("Portugol"); @@ -370,7 +371,7 @@ public void restartApplication() private boolean confirmouReinicializacao() { - int resp = JOptionPane.showConfirmDialog(null, "Para trocar de tema o Portugol Studio precisa reinicializar! Confirma?", "Confirmar", JOptionPane.YES_NO_CANCEL_OPTION); + int resp = QuestionDialog.getInstance().showConfirmMessage("Para trocar de tema o Portugol Studio precisa reinicializar! Confirma?"); if (resp == JOptionPane.YES_OPTION) { return true; diff --git a/ide/src/main/java/br/univali/ps/nucleo/PortugolStudio.java b/ide/src/main/java/br/univali/ps/nucleo/PortugolStudio.java index cd3b8ceb6..0bf67a95d 100644 --- a/ide/src/main/java/br/univali/ps/nucleo/PortugolStudio.java +++ b/ide/src/main/java/br/univali/ps/nucleo/PortugolStudio.java @@ -17,6 +17,7 @@ import br.univali.ps.ui.telas.TelaCustomBorder; import br.univali.ps.ui.utils.FabricaDicasInterface; import br.univali.ps.ui.swing.weblaf.WeblafUtils; +import br.univali.ps.ui.swing.weblaf.jOptionPane.QuestionDialog; import br.univali.ps.ui.telas.Sobre; import br.univali.ps.ui.telas.TelaAtalhos; import br.univali.ps.ui.telas.TelaRelatarBug; @@ -466,7 +467,7 @@ private boolean versaoJavaCorreta() if (Double.valueOf(property) < 1.7) { - JOptionPane.showMessageDialog(null, "Para executar o Portugol Studio é preciso utilizar o Java 1.7 ou superior.", "Portugol Studio", JOptionPane.ERROR_MESSAGE); + QuestionDialog.getInstance().showMessage("Para executar o Portugol Studio é preciso utilizar o Java 1.7 ou superior.", JOptionPane.ERROR_MESSAGE); return false; } @@ -474,7 +475,7 @@ private boolean versaoJavaCorreta() } catch (HeadlessException | NumberFormatException excecao) { - JOptionPane.showMessageDialog(null, "Não foi possível determinar a versão do Java. O Portugol Studio será encerrado!", "Portugol Studio", JOptionPane.ERROR_MESSAGE); + QuestionDialog.getInstance().showMessage("Não foi possível determinar a versão do Java. O Portugol Studio será encerrado!", JOptionPane.ERROR_MESSAGE); return false; } } diff --git a/ide/src/main/java/br/univali/ps/nucleo/TratadorExcecoes.java b/ide/src/main/java/br/univali/ps/nucleo/TratadorExcecoes.java index fd27e05ba..ffb0abe6a 100644 --- a/ide/src/main/java/br/univali/ps/nucleo/TratadorExcecoes.java +++ b/ide/src/main/java/br/univali/ps/nucleo/TratadorExcecoes.java @@ -12,6 +12,7 @@ import javax.swing.JOptionPane; import javax.swing.SwingUtilities; import static br.univali.ps.nucleo.ExcecaoAplicacao.Tipo.ERRO_PROGRAMA; +import br.univali.ps.ui.swing.weblaf.jOptionPane.QuestionDialog; /** * @@ -85,7 +86,7 @@ private void exibir(final ExcecaoAplicacao excecaoAplicacao) private void exibirExcecaoSimples(ExcecaoAplicacao excecaoAplicacao, int tipoDialogo) { - JOptionPane.showMessageDialog(null, excecaoAplicacao.getMessage(), "Portugol Studio", tipoDialogo); + QuestionDialog.getInstance().showMessage(excecaoAplicacao.getMessage(), tipoDialogo); if (encerrarAplicacao) { diff --git a/ide/src/main/java/br/univali/ps/ui/abas/AbaCodigoFonte.java b/ide/src/main/java/br/univali/ps/ui/abas/AbaCodigoFonte.java index 7715c592d..15d679861 100644 --- a/ide/src/main/java/br/univali/ps/ui/abas/AbaCodigoFonte.java +++ b/ide/src/main/java/br/univali/ps/ui/abas/AbaCodigoFonte.java @@ -46,6 +46,7 @@ import br.univali.ps.ui.utils.IconFactory; import br.univali.ps.ui.swing.weblaf.BarraDeBotoesExpansivel; import br.univali.ps.ui.swing.weblaf.WeblafUtils; +import br.univali.ps.ui.swing.weblaf.jOptionPane.QuestionDialog; import br.univali.ps.ui.telas.TelaPrincipal; import com.alee.laf.button.WebButton; import java.awt.*; @@ -806,7 +807,7 @@ public void actionPerformed(ActionEvent e) } else { - JOptionPane.showMessageDialog(AbaCodigoFonte.this, "Este arquivo já está aberto em outra aba.\nPor favor feche o arquivo aberto antes de sobrescrevê-lo.", "Portugol Studio", JOptionPane.WARNING_MESSAGE); + QuestionDialog.getInstance().showMessage("Este arquivo já está aberto em outra aba.\nPor favor feche o arquivo aberto antes de sobrescrevê-lo.", JOptionPane.WARNING_MESSAGE); usuarioCancelouSalvamento = true; } Configuracoes.getInstancia().setCaminhoUltimoDiretorio(dialogoSelecaoArquivo.getCurrentDirectory()); @@ -1162,7 +1163,7 @@ public void componentShown(final ComponentEvent e) editor.getTextArea().requestFocusInWindow(); if (Configuracoes.getInstancia().isExibirAvisoRenomear()) { - JOptionPane.showMessageDialog(AbaCodigoFonte.this, "" + QuestionDialog.getInstance().showMessage("" + "O Portugol Studio tem uma novidade! Agora você pode renomear elementos do seu programa\n" + "como, por exemplo, variáveis e funções." + "\n\n" @@ -1172,7 +1173,7 @@ public void componentShown(final ComponentEvent e) + "Você também pode renomear através do editor de código fonte, posicionando o cursor do teclado\n" + "sobre o nome do elemento e pressionando a combinação de teclas: Ctrl + R." + "\n\n" - + "Que a força esteja com você!!!", "Portugol Studio", JOptionPane.INFORMATION_MESSAGE); + + "Que a força esteja com você!!!", JOptionPane.INFORMATION_MESSAGE); Configuracoes.getInstancia().setExibirAvisoRenomear(false); } }); @@ -1217,7 +1218,7 @@ public void mousePressed(MouseEvent e) { if ((programaCompilado != null && programaCompilado.isExecutando())) { - JOptionPane.showMessageDialog(AbaCodigoFonte.this, "Não é possível renomear enquanto o programa está executando. Interrompa o programa e tente novamente"); + QuestionDialog.getInstance().showMessage("Não é possível renomear enquanto o programa está executando. Interrompa o programa e tente novamente"); editor.getTextArea().requestFocusInWindow(); } else @@ -1861,9 +1862,8 @@ public boolean fechandoAba(Aba aba) } if (arquivoModificado()) - { - int resp = JOptionPane.showConfirmDialog(this, String.format("O documento '%s' possui modificações, deseja Salvá-las?", getCabecalho().getTitulo()), "Confirmar", JOptionPane.YES_NO_CANCEL_OPTION); - + { + int resp = QuestionDialog.getInstance().showConfirmMessage(String.format("O documento '%s' possui modificações, deseja Salvá-las?", getCabecalho().getTitulo())); if (resp == JOptionPane.YES_OPTION) { acaoSalvarArquivo.actionPerformed(null); diff --git a/ide/src/main/java/br/univali/ps/ui/abas/AbaInicial.java b/ide/src/main/java/br/univali/ps/ui/abas/AbaInicial.java index 39179b358..9cd579127 100644 --- a/ide/src/main/java/br/univali/ps/ui/abas/AbaInicial.java +++ b/ide/src/main/java/br/univali/ps/ui/abas/AbaInicial.java @@ -6,6 +6,7 @@ import br.univali.ps.ui.swing.Themeable; import br.univali.ps.ui.utils.WebConnectionUtils; import br.univali.ps.ui.paineis.PainelTabuladoPrincipal; +import br.univali.ps.ui.swing.weblaf.jOptionPane.QuestionDialog; import br.univali.ps.ui.telas.TelaPrincipal; import br.univali.ps.ui.utils.IconFactory; import java.awt.Cursor; @@ -146,7 +147,7 @@ public void actionPerformed(ActionEvent e) rotuloAssistirVideoAulas.setIcon(gif); rotuloConhecerBibliotecas.setIcon(gif); rotuloConhecerLinguagem.setIcon(gif); - JOptionPane.showMessageDialog(null, gif, "Never gonna", JOptionPane.PLAIN_MESSAGE); + QuestionDialog.getInstance().showMessage("Eita!!!"); } } catch (Exception ex) @@ -155,6 +156,7 @@ public void actionPerformed(ActionEvent e) } } }); + } private void configurarResolucao() diff --git a/ide/src/main/java/br/univali/ps/ui/abas/abaBibliotecas/AbaDocumentacaoBiblioteca.java b/ide/src/main/java/br/univali/ps/ui/abas/abaBibliotecas/AbaDocumentacaoBiblioteca.java index 98084af51..2458f9ae2 100644 --- a/ide/src/main/java/br/univali/ps/ui/abas/abaBibliotecas/AbaDocumentacaoBiblioteca.java +++ b/ide/src/main/java/br/univali/ps/ui/abas/abaBibliotecas/AbaDocumentacaoBiblioteca.java @@ -17,6 +17,7 @@ import br.univali.ps.ui.utils.IconFactory; import br.univali.ps.ui.swing.weblaf.PSTreeUI; import br.univali.ps.ui.swing.weblaf.WeblafUtils; +import br.univali.ps.ui.swing.weblaf.jOptionPane.QuestionDialog; import java.awt.Component; import java.awt.Desktop; import java.io.BufferedReader; @@ -470,7 +471,7 @@ public void hyperlinkUpdate(HyperlinkEvent evt) String urlString = evt.getURL().toExternalForm(); if (urlString == null) { - JOptionPane.showMessageDialog(this, "Erro: Link inválido", "Erro", JOptionPane.ERROR_MESSAGE); + QuestionDialog.getInstance().showMessage("Erro: Link inválido", JOptionPane.ERROR_MESSAGE); } try @@ -482,12 +483,12 @@ public void hyperlinkUpdate(HyperlinkEvent evt) } else { - JOptionPane.showMessageDialog(this, "Erro: Não foi possível abrir o navegador Web", "Erro", JOptionPane.ERROR_MESSAGE); + QuestionDialog.getInstance().showMessage("Erro: Não foi possível abrir o navegador Web", JOptionPane.ERROR_MESSAGE); } } catch (Throwable excep) { - JOptionPane.showMessageDialog(this, "Erro: Não foi possível abrir o navegador Web", "Erro", JOptionPane.ERROR_MESSAGE); + QuestionDialog.getInstance().showMessage("Erro: Não foi possível abrir o navegador Web", JOptionPane.ERROR_MESSAGE); } } } diff --git a/ide/src/main/java/br/univali/ps/ui/editor/Editor.java b/ide/src/main/java/br/univali/ps/ui/editor/Editor.java index 6a74daeab..34bd40505 100644 --- a/ide/src/main/java/br/univali/ps/ui/editor/Editor.java +++ b/ide/src/main/java/br/univali/ps/ui/editor/Editor.java @@ -24,6 +24,7 @@ import br.univali.ps.ui.rstautil.SuportePortugolImpl; import br.univali.ps.ui.utils.IconFactory; import br.univali.ps.ui.swing.weblaf.WeblafUtils; +import br.univali.ps.ui.swing.weblaf.jOptionPane.QuestionDialog; import com.alee.laf.WebLookAndFeel; import java.awt.BorderLayout; import java.awt.Color; @@ -432,7 +433,7 @@ public void actionPerformed(ActionEvent e) } else { - JOptionPane.showMessageDialog(Editor.this, "Não é possível renomear enquanto o programa está executando. Interrompa o programa e tente novamente"); + QuestionDialog.getInstance().showMessage("Não é possível renomear enquanto o programa está executando. Interrompa o programa e tente novamente"); textArea.requestFocusInWindow(); } } @@ -1656,7 +1657,7 @@ public void searchEvent(SearchEvent e) break; case REPLACE_ALL: result = SearchEngine.replaceAll(textArea, context); - JOptionPane.showMessageDialog(null, result.getCount() + QuestionDialog.getInstance().showMessage(result.getCount() + " ocorrências substituídas."); break; } @@ -1708,7 +1709,7 @@ private void reiniciar(SearchContext context, RSyntaxTextArea textArea, SearchEv s = "A pesquisa chegou no final do arquivo, deseja recomeçar do início?"; } - if (JOptionPane.showConfirmDialog(getParent(), s, "Pesquisar", JOptionPane.YES_OPTION) == JOptionPane.YES_OPTION) + if (QuestionDialog.getInstance().showConfirmMessage(s, JOptionPane.YES_OPTION) == JOptionPane.YES_OPTION) { if (context.getSearchForward()) { diff --git a/ide/src/main/java/br/univali/ps/ui/swing/weblaf/jOptionPane/QuestionDialog.form b/ide/src/main/java/br/univali/ps/ui/swing/weblaf/jOptionPane/QuestionDialog.form index c0db6ac66..2ca92bbd8 100644 --- a/ide/src/main/java/br/univali/ps/ui/swing/weblaf/jOptionPane/QuestionDialog.form +++ b/ide/src/main/java/br/univali/ps/ui/swing/weblaf/jOptionPane/QuestionDialog.form @@ -1,9 +1,32 @@
+ + + + + + + + + + + + + + + + + + + + + + + @@ -19,17 +42,12 @@ - + - - - - - @@ -42,7 +60,7 @@ - + @@ -57,7 +75,7 @@ - + @@ -78,11 +96,11 @@ - + - + @@ -96,26 +114,6 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/ide/src/main/java/br/univali/ps/ui/swing/weblaf/jOptionPane/QuestionDialog.java b/ide/src/main/java/br/univali/ps/ui/swing/weblaf/jOptionPane/QuestionDialog.java index b08334fdb..754bc3f5c 100644 --- a/ide/src/main/java/br/univali/ps/ui/swing/weblaf/jOptionPane/QuestionDialog.java +++ b/ide/src/main/java/br/univali/ps/ui/swing/weblaf/jOptionPane/QuestionDialog.java @@ -3,11 +3,19 @@ import br.univali.ps.ui.swing.ColorController; import br.univali.ps.ui.swing.Themeable; import br.univali.ps.ui.swing.weblaf.WeblafUtils; +import br.univali.ps.ui.utils.IconFactory; import java.awt.Color; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapter; +import javax.swing.ImageIcon; import javax.swing.JFrame; +import javax.swing.JOptionPane; +import javax.swing.border.CompoundBorder; +import javax.swing.border.LineBorder; /** * @@ -15,51 +23,148 @@ */ public class QuestionDialog extends javax.swing.JDialog implements Themeable{ int pX, pY; - + private int resposta = -1; + private static QuestionDialog dialog; /** * Creates new form QuestionDialog * @param parent * @param modal * @param text */ - public QuestionDialog(JFrame parent, boolean modal, String text) { - super(parent, modal); + private QuestionDialog(){ + super((JFrame)null, true); initComponents(); - textLabel.setText(""+text+""); + setup(); + } + public static QuestionDialog getInstance(){ + if(dialog==null){ + dialog = new QuestionDialog(); + } + dialog.reset(); + return dialog; + } + private void setup() + { + jPanel3.setBorder(new CompoundBorder(new LineBorder(ColorController.COR_PRINCIPAL, 1),new LineBorder(ColorController.FUNDO_ESCURO, 5))); + setLocationRelativeTo(null); configurarCores(); - WeblafUtils.configurarBotao(webButton1, ColorController.FUNDO_ESCURO, Color.white, ColorController.PROGRESS_BAR, Color.orange,5); - WeblafUtils.configurarBotao(webButton2); - WeblafUtils.configurarBotao(webButton3); - WeblafUtils.configurarBotao(webButton4); - + WeblafUtils.configurarBotao(webButton1, ColorController.FUNDO_ESCURO, Color.white, ColorController.VERMELHO, Color.orange,5); + WeblafUtils.configurarBotao(botaoCancelar, ColorController.FUNDO_ESCURO, ColorController.COR_LETRA_TITULO, ColorController.FUNDO_CLARO, ColorController.COR_LETRA, 5, true); + WeblafUtils.configurarBotao(botaoSim, ColorController.AMARELO, ColorController.FUNDO_ESCURO, ColorController.FUNDO_CLARO, ColorController.COR_LETRA, 5, true); + WeblafUtils.configurarBotao(botaoNao, ColorController.FUNDO_ESCURO, ColorController.COR_LETRA_TITULO, ColorController.VERMELHO, ColorController.COR_LETRA_TITULO, 5, true); titleLabel.addMouseListener(new MouseAdapter() { - @Override - public void mousePressed(MouseEvent me) { - // Get x,y and store them - pX = me.getX(); - pY = me.getY(); - - } - - @Override - public void mouseDragged(MouseEvent me) { - - setLocation(getLocation().x + me.getX() - pX,getLocation().y + me.getY() - pY); - } - }); - - titleLabel.addMouseMotionListener(new MouseMotionAdapter() { - @Override - public void mouseDragged(MouseEvent me) { + @Override + public void mousePressed(MouseEvent me) { + // Get x,y and store them + pX = me.getX(); + pY = me.getY(); + } + @Override + public void mouseDragged(MouseEvent me) { + setLocation(getLocation().x + me.getX() - pX,getLocation().y + me.getY() - pY); + } + }); - setLocation(getLocation().x + me.getX() - pX,getLocation().y + me.getY() - pY); - } - }); + titleLabel.addMouseMotionListener(new MouseMotionAdapter() { + @Override + public void mouseDragged(MouseEvent me) { + setLocation(getLocation().x + me.getX() - pX,getLocation().y + me.getY() - pY); + } + }); + + botaoSim.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + resposta = JOptionPane.YES_OPTION; + setVisible(false); + } + }); + + botaoNao.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + resposta = JOptionPane.NO_OPTION; + setVisible(false); + } + }); + + botaoCancelar.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + resposta = JOptionPane.CANCEL_OPTION; + setVisible(false); + } + }); + + webButton1.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + resposta = JOptionPane.CLOSED_OPTION; + setVisible(false); + } + }); + } + + private void reset() + { + textLabel.setText(""); + buttonsPane.removeAll(); + resposta = -1; + jLabel1.setIcon(IconFactory.createIcon(IconFactory.CAMINHO_ICONES_GRANDES, "big_logo.png")); + } + + public void showMessage(String text, int type) + { + switch (type) { + case JOptionPane.WARNING_MESSAGE: + jLabel1.setIcon(IconFactory.createIcon(IconFactory.CAMINHO_ICONES_GRANDES, "big_warning.png")); + break; + case JOptionPane.ERROR_MESSAGE: + jLabel1.setIcon(IconFactory.createIcon(IconFactory.CAMINHO_ICONES_GRANDES, "big_error.png")); + break; + default: + jLabel1.setIcon(IconFactory.createIcon(IconFactory.CAMINHO_ICONES_GRANDES, "big_logo.png")); + break; + } + showMessage(text); } + public void showMessage(String text) { + textLabel.setText(""+text+""); + buttonsPane.add(botaoSim); + setVisible(true); + pack(); + } + + public int showConfirmMessage(String text, int type) + { + switch (type) { + case JOptionPane.WARNING_MESSAGE: + jLabel1.setIcon(IconFactory.createIcon(IconFactory.CAMINHO_ICONES_GRANDES, "big_warning.png")); + break; + case JOptionPane.ERROR_MESSAGE: + jLabel1.setIcon(IconFactory.createIcon(IconFactory.CAMINHO_ICONES_GRANDES, "big_error.png")); + break; + default: + jLabel1.setIcon(IconFactory.createIcon(IconFactory.CAMINHO_ICONES_GRANDES, "big_logo.png")); + break; + } + return showConfirmMessage(text); + } + + public int showConfirmMessage(String text) { + textLabel.setText(""+text+""); + buttonsPane.add(botaoSim); + buttonsPane.add(botaoNao); + buttonsPane.add(botaoCancelar); + setVisible(true); + pack(); + return resposta; + } + @Override public void configurarCores() { - titleLabel.setForeground(ColorController.COR_LETRA); + titleLabel.setForeground(ColorController.COR_LETRA_TITULO); textLabel.setForeground(ColorController.COR_LETRA); titlePane.setBackground(ColorController.FUNDO_ESCURO); mainpane.setBackground(ColorController.COR_PRINCIPAL); @@ -74,53 +179,49 @@ public void configurarCores() { // //GEN-BEGIN:initComponents private void initComponents() { + botaoCancelar = new com.alee.laf.button.WebButton(); + botaoNao = new com.alee.laf.button.WebButton(); + botaoSim = new com.alee.laf.button.WebButton(); jPanel3 = new javax.swing.JPanel(); mainpane = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jPanel1 = new javax.swing.JPanel(); - jPanel2 = new javax.swing.JPanel(); - webButton3 = new com.alee.laf.button.WebButton(); - webButton4 = new com.alee.laf.button.WebButton(); - webButton2 = new com.alee.laf.button.WebButton(); + buttonsPane = new javax.swing.JPanel(); textLabel = new javax.swing.JLabel(); titlePane = new javax.swing.JPanel(); titleLabel = new javax.swing.JLabel(); webButton1 = new com.alee.laf.button.WebButton(); + botaoCancelar.setText("Cancelar"); + botaoCancelar.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + botaoCancelarActionPerformed(evt); + } + }); + + botaoNao.setText("Não"); + + botaoSim.setText("Sim"); + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setUndecorated(true); + setPreferredSize(new java.awt.Dimension(400, 160)); - jPanel3.setPreferredSize(new java.awt.Dimension(450, 200)); jPanel3.setLayout(new java.awt.BorderLayout()); - mainpane.setBorder(javax.swing.BorderFactory.createEmptyBorder(15, 15, 15, 15)); + mainpane.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); mainpane.setLayout(new java.awt.BorderLayout()); - jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/univali/ps/ui/icones/Dark/grande/lite/ajuda.png"))); // NOI18N + jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/univali/ps/ui/icones/Dark/grande/big_logo.png"))); // NOI18N mainpane.add(jLabel1, java.awt.BorderLayout.LINE_START); jPanel1.setOpaque(false); jPanel1.setLayout(new java.awt.BorderLayout()); - jPanel2.setBorder(javax.swing.BorderFactory.createEmptyBorder(20, 2, 2, 2)); - jPanel2.setOpaque(false); - jPanel2.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 30, 5)); - - webButton3.setText("Sim"); - jPanel2.add(webButton3); - - webButton4.setText("Não"); - jPanel2.add(webButton4); - - webButton2.setText("Cancelar"); - webButton2.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - webButton2ActionPerformed(evt); - } - }); - jPanel2.add(webButton2); - - jPanel1.add(jPanel2, java.awt.BorderLayout.SOUTH); + buttonsPane.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); + buttonsPane.setOpaque(false); + buttonsPane.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 30, 5)); + jPanel1.add(buttonsPane, java.awt.BorderLayout.SOUTH); textLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); textLabel.setText("taxtLabel"); @@ -154,68 +255,33 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { }// //GEN-END:initComponents private void webButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_webButton1ActionPerformed - this.dispose(); + }//GEN-LAST:event_webButton1ActionPerformed - private void webButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_webButton2ActionPerformed - this.dispose(); - }//GEN-LAST:event_webButton2ActionPerformed + private void botaoCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botaoCancelarActionPerformed + + }//GEN-LAST:event_botaoCancelarActionPerformed /** * @param args the command line arguments */ public static void main(String args[]) { - /* Set the Nimbus look and feel */ - // - /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. - * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html - */ - try { - for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { - if ("Nimbus".equals(info.getName())) { - javax.swing.UIManager.setLookAndFeel(info.getClassName()); - break; - } - } - } catch (ClassNotFoundException ex) { - java.util.logging.Logger.getLogger(QuestionDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); - } catch (InstantiationException ex) { - java.util.logging.Logger.getLogger(QuestionDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); - } catch (IllegalAccessException ex) { - java.util.logging.Logger.getLogger(QuestionDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); - } catch (javax.swing.UnsupportedLookAndFeelException ex) { - java.util.logging.Logger.getLogger(QuestionDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); - } - // - - /* Create and display the dialog */ - java.awt.EventQueue.invokeLater(new Runnable() { - public void run() { - QuestionDialog dialog = new QuestionDialog(new javax.swing.JFrame(), true, "Um texto bem maroto e até um tanto quanto grande só pro noschang ficar ligadinho"); - dialog.addWindowListener(new java.awt.event.WindowAdapter() { - @Override - public void windowClosing(java.awt.event.WindowEvent e) { - System.exit(0); - } - }); - dialog.setVisible(true); - } - }); + } // Variables declaration - do not modify//GEN-BEGIN:variables + private com.alee.laf.button.WebButton botaoCancelar; + private com.alee.laf.button.WebButton botaoNao; + private com.alee.laf.button.WebButton botaoSim; + private javax.swing.JPanel buttonsPane; private javax.swing.JLabel jLabel1; private javax.swing.JPanel jPanel1; - private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JPanel mainpane; private javax.swing.JLabel textLabel; private javax.swing.JLabel titleLabel; private javax.swing.JPanel titlePane; private com.alee.laf.button.WebButton webButton1; - private com.alee.laf.button.WebButton webButton2; - private com.alee.laf.button.WebButton webButton3; - private com.alee.laf.button.WebButton webButton4; // End of variables declaration//GEN-END:variables } diff --git a/ide/src/main/java/br/univali/ps/ui/utils/FabricaDeFileChooser.java b/ide/src/main/java/br/univali/ps/ui/utils/FabricaDeFileChooser.java index b615fb4ed..4baeb1a84 100644 --- a/ide/src/main/java/br/univali/ps/ui/utils/FabricaDeFileChooser.java +++ b/ide/src/main/java/br/univali/ps/ui/utils/FabricaDeFileChooser.java @@ -1,6 +1,7 @@ package br.univali.ps.ui.utils; import br.univali.ps.nucleo.Caminhos; +import br.univali.ps.ui.swing.weblaf.jOptionPane.QuestionDialog; import java.io.File; import java.util.logging.Level; import java.util.logging.Logger; @@ -47,7 +48,7 @@ public void approveSelection() { File selectedFile = getSelectedFile(); if ((selectedFile != null) && selectedFile.exists()) { - int response = JOptionPane.showConfirmDialog(this, "O arquivo informado já existe.\n Deseja substituí-lo?", "Portugol Studio", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE); + int response = QuestionDialog.getInstance().showConfirmMessage("O arquivo informado já existe.\n Deseja substituí-lo?", JOptionPane.WARNING_MESSAGE); if (response != JOptionPane.YES_OPTION) { return; diff --git a/ide/src/main/java/br/univali/ps/ui/utils/WebConnectionUtils.java b/ide/src/main/java/br/univali/ps/ui/utils/WebConnectionUtils.java index 3d8cec4ab..3b754c78f 100644 --- a/ide/src/main/java/br/univali/ps/ui/utils/WebConnectionUtils.java +++ b/ide/src/main/java/br/univali/ps/ui/utils/WebConnectionUtils.java @@ -1,5 +1,6 @@ package br.univali.ps.ui.utils; +import br.univali.ps.ui.swing.weblaf.jOptionPane.QuestionDialog; import java.awt.Toolkit; import java.awt.datatransfer.StringSelection; import java.io.IOException; @@ -16,7 +17,7 @@ public static void abrirSite(String endereco){ } catch (IOException ex) { StringSelection stringSelection = new StringSelection(endereco); Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null); - JOptionPane.showMessageDialog(null,"Não foi possível abrir o seu navegador de Internet no endereço "+endereco+". Seu computador está com problemas d econxão com a internet, ou a página encontra-se temporariamente indisponível. O endereço está em sua área de transferência, aperte CTRL+V no navegador para acessá-lo manualmente"); + QuestionDialog.getInstance().showMessage("Não foi possível abrir o seu navegador de Internet no endereço "+endereco+". Seu computador está com problemas d econxão com a internet, ou a página encontra-se temporariamente indisponível. O endereço está em sua área de transferência, aperte CTRL+V no navegador para acessá-lo manualmente"); } } } diff --git a/ide/src/main/resources/br/univali/ps/ui/icones/Dark/grande/big_error.png b/ide/src/main/resources/br/univali/ps/ui/icones/Dark/grande/big_error.png new file mode 100644 index 000000000..279d1892a Binary files /dev/null and b/ide/src/main/resources/br/univali/ps/ui/icones/Dark/grande/big_error.png differ diff --git a/ide/src/main/resources/br/univali/ps/ui/icones/Dark/grande/big_logo.png b/ide/src/main/resources/br/univali/ps/ui/icones/Dark/grande/big_logo.png new file mode 100644 index 000000000..028ba5f65 Binary files /dev/null and b/ide/src/main/resources/br/univali/ps/ui/icones/Dark/grande/big_logo.png differ diff --git a/ide/src/main/resources/br/univali/ps/ui/icones/Dark/grande/big_warning.png b/ide/src/main/resources/br/univali/ps/ui/icones/Dark/grande/big_warning.png new file mode 100644 index 000000000..14caf6802 Binary files /dev/null and b/ide/src/main/resources/br/univali/ps/ui/icones/Dark/grande/big_warning.png differ diff --git a/ide/src/main/resources/br/univali/ps/ui/icones/Portugol/grande/big_error.png b/ide/src/main/resources/br/univali/ps/ui/icones/Portugol/grande/big_error.png new file mode 100644 index 000000000..279d1892a Binary files /dev/null and b/ide/src/main/resources/br/univali/ps/ui/icones/Portugol/grande/big_error.png differ diff --git a/ide/src/main/resources/br/univali/ps/ui/icones/Portugol/grande/big_logo.png b/ide/src/main/resources/br/univali/ps/ui/icones/Portugol/grande/big_logo.png new file mode 100644 index 000000000..028ba5f65 Binary files /dev/null and b/ide/src/main/resources/br/univali/ps/ui/icones/Portugol/grande/big_logo.png differ diff --git a/ide/src/main/resources/br/univali/ps/ui/icones/Portugol/grande/big_warning.png b/ide/src/main/resources/br/univali/ps/ui/icones/Portugol/grande/big_warning.png new file mode 100644 index 000000000..14caf6802 Binary files /dev/null and b/ide/src/main/resources/br/univali/ps/ui/icones/Portugol/grande/big_warning.png differ