• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wurstscript / WurstScript / 238

04 Jan 2024 02:22PM UTC coverage: 62.412% (+0.02%) from 62.393%
238

Pull #1086

circleci

Frotty
Also allow real and boolean comparisons with null in Jass code
Pull Request #1086: Also allow real and boolean comparisons with null in Jass code

17278 of 27684 relevant lines covered (62.41%)

0.62 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
de.peeeq.wurstscript/src/main/java/de/peeeq/wurstio/gui/AboutDialog.java
1
/*
2
 * To change this template, choose Tools | Templates
3
 * and open the template in the editor.
4
 */
5

6
/*
7
 * AboutDialog.java
8
 *
9
 * Created on 04.12.2011, 20:32:40
10
 */
11
package de.peeeq.wurstio.gui;
12

13
import de.peeeq.wurstscript.CompileTimeInfo;
14
import de.peeeq.wurstscript.utils.Utils;
15
import org.eclipse.jdt.annotation.Nullable;
16

17
import java.awt.*;
18
import java.awt.event.WindowEvent;
19
import java.io.IOException;
20
import java.net.URI;
21
import java.net.URISyntaxException;
22
import java.util.logging.Level;
23
import java.util.logging.Logger;
24

25
/**
26
 * @author Frotty
27
 */
28
public class AboutDialog extends javax.swing.JDialog {
29
    private final URI uri;
30
    private final static String homepage = "https://wurstlang.org/";
31
    private final static String authors = "peq & Frotty";
32
    public final static String version = CompileTimeInfo.version;
33

34
    /**
35
     * Creates new form AboutDialog
36
     */
37
    @SuppressWarnings("null")
38
    public AboutDialog(@Nullable Frame parent, boolean modal) throws URISyntaxException {
39
        super(parent, modal);
×
40
        initComponents();
×
41
        uri = new URI(homepage);
×
42
        getContentPane().setBackground(Color.WHITE);
×
43

44
        GuiUtils.setWindowToCenterOfScreen(this);
×
45
        requestFocus();
×
46
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
×
47
    }
×
48

49
    /**
50
     * This method is called from within the constructor to
51
     * initialize the form.
52
     * WARNING: Do NOT modify this code. The content of this method is
53
     * always regenerated by the Form Editor.
54
     */
55

56
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
57
    private void initComponents() {
58

59
        homepageButton = new javax.swing.JButton();
×
60
        logo = new javax.swing.JLabel();
×
61
        heading = new javax.swing.JLabel();
×
62
        description = new javax.swing.JLabel();
×
63
        versionTitle = new javax.swing.JLabel();
×
64
        authorTitle = new javax.swing.JLabel();
×
65
        homepageTitle = new javax.swing.JLabel();
×
66
        versionCurrent = new javax.swing.JLabel();
×
67
        authorCurrent = new javax.swing.JLabel();
×
68

69
        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
×
70
        setTitle("AboutDialog WurstScript");
×
71
        setModal(true);
×
72
        setName("aboutBox"); // NOI18N
×
73
        setResizable(false);
×
74

75
        homepageButton.setForeground(new java.awt.Color(0, 0, 255));
×
76
        homepageButton.setText(homepage);
×
77
        homepageButton.setBorderPainted(false);
×
78
        homepageButton.setContentAreaFilled(false);
×
79
        homepageButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
×
80
        homepageButton.setFocusPainted(false);
×
81
        homepageButton.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
×
82
        homepageButton.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
×
83
        homepageButton.setName("homepageButton"); // NOI18N
×
84
        homepageButton.addMouseListener(Utils.onClickDo(this::homepageButtonMouseClicked));
×
85

86

87
        logo.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
×
88
        logo.setIcon(new javax.swing.ImageIcon(getClass().getClassLoader().getResource("icon.png"))); // NOI18N
×
89
        logo.setName("logo"); // NOI18N
×
90
        logo.setLocation(0, 0);
×
91

92
        heading.setFont(new Font("Tahoma", Font.BOLD, 18)); // NOI18N
×
93
        heading.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
×
94
        heading.setText("WurstScript");
×
95
        heading.setName("heading"); // NOI18N
×
96

97

98
        description.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
×
99
        description.setText("A Wurst to Jass compiler plus built-in optimizer");
×
100
        description.setVerticalAlignment(javax.swing.SwingConstants.TOP);
×
101
        description.setName("description"); // NOI18N
×
102

103
        versionTitle.setFont(new Font("Tahoma", Font.BOLD, 11)); // NOI18N
×
104
        versionTitle.setText("Version:");
×
105
        versionTitle.setName("versionTitle"); // NOI18N
×
106

107
        authorTitle.setFont(new Font("Tahoma", Font.BOLD, 11)); // NOI18N
×
108
        authorTitle.setText("Authors:");
×
109
        authorTitle.setName("authorTitle"); // NOI18N
×
110

111
        homepageTitle.setFont(new Font("Tahoma", Font.BOLD, 11)); // NOI18N
×
112
        homepageTitle.setText("Homepage:");
×
113
        homepageTitle.setName("homepageTitle"); // NOI18N
×
114

115
        versionCurrent.setText(version);
×
116
        versionCurrent.setName("versionCurrent"); // NOI18N
×
117

118
        authorCurrent.setText(authors);
×
119
        authorCurrent.setName("authorCurrent"); // NOI18N
×
120

121
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
×
122
        getContentPane().setLayout(layout);
×
123
        layout.setHorizontalGroup(
×
124
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
×
125
                        .addGap(0, 450, Short.MAX_VALUE)
×
126
                        .addGroup(layout.createSequentialGroup()
×
127
                                .addComponent(logo)
×
128
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
×
129
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
×
130
                                        .addComponent(description, javax.swing.GroupLayout.DEFAULT_SIZE, 302, Short.MAX_VALUE)
×
131
                                        .addComponent(heading, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 302, Short.MAX_VALUE)
×
132
                                        .addGroup(layout.createSequentialGroup()
×
133
                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
×
134
                                                        .addComponent(homepageTitle, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
×
135
                                                        .addComponent(authorTitle, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
×
136
                                                        .addComponent(versionTitle, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 62, Short.MAX_VALUE))
×
137
                                                .addGap(18, 18, 18)
×
138
                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
×
139
                                                        .addComponent(authorCurrent, javax.swing.GroupLayout.DEFAULT_SIZE, 220, Short.MAX_VALUE)
×
140
                                                        .addComponent(versionCurrent, javax.swing.GroupLayout.DEFAULT_SIZE, 220, Short.MAX_VALUE)
×
141
                                                        .addComponent(homepageButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
×
142
                                .addContainerGap())
×
143
        );
144
        layout.setVerticalGroup(
×
145
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
×
146
                        .addGap(0, 151, Short.MAX_VALUE)
×
147
                        .addGroup(layout.createSequentialGroup()
×
148
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
×
149
                                        .addComponent(logo, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
×
150
                                        .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
×
151
                                                .addGap(11, 11, 11)
×
152
                                                .addComponent(heading, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)
×
153
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
×
154
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
×
155
                                                .addComponent(description)
×
156
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
×
157
                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
×
158
                                                        .addComponent(versionTitle)
×
159
                                                        .addComponent(versionCurrent))
×
160
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
×
161
                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
×
162
                                                        .addComponent(authorTitle)
×
163
                                                        .addComponent(authorCurrent))
×
164
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
×
165
                                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
×
166
                                                        .addComponent(homepageTitle)
×
167
                                                        .addComponent(homepageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE))))
×
168
                                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
×
169
        );
170

171
        pack();
×
172
    }// </editor-fold>//GEN-END:initComponents
×
173

174
    private void homepageButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_homepageButtonMouseClicked
175
        if (Desktop.isDesktopSupported()) {
×
176
            try {
177
                Desktop.getDesktop().browse(uri);
×
178
            } catch (IOException ignored) {}
×
179
        }
180
    }//GEN-LAST:event_homepageButtonMouseClicked
×
181

182
    /**
183
     * @param args the command line arguments
184
     */
185
    public static void main(String[] args) {
186
        /* Create and display the dialog */
187
        java.awt.EventQueue.invokeLater(() -> {
×
188
            try {
189
                AboutDialog dialog = new AboutDialog(new javax.swing.JFrame(), true);
×
190
                dialog.addWindowListener(new java.awt.event.WindowAdapter() {
×
191

192
                    @Override
193
                    public void windowClosing(@Nullable WindowEvent e) {
194
                        System.exit(0);
×
195
                    }
×
196
                });
197
                dialog.setVisible(true);
×
198
            } catch (URISyntaxException ex) {
×
199
                Logger.getLogger(AboutDialog.class.getName()).log(Level.SEVERE, null, ex);
×
200
            }
×
201
        });
×
202
    }
×
203

204
    // Variables declaration - do not modify//GEN-BEGIN:variables
205
    private javax.swing.JLabel authorCurrent;
206
    private javax.swing.JLabel authorTitle;
207
    private javax.swing.JLabel description;
208
    private javax.swing.JLabel heading;
209
    private javax.swing.JButton homepageButton;
210
    private javax.swing.JLabel homepageTitle;
211
    private javax.swing.JLabel logo;
212
    private javax.swing.JLabel versionCurrent;
213
    private javax.swing.JLabel versionTitle;
214
    // End of variables declaration//GEN-END:variables
215
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc