1 | /******************************************************************************* | |
2 | * Copyhacked (H) 2012-2020. | |
3 | * This program and the accompanying materials | |
4 | * are made available under no term at all, use it like | |
5 | * you want, but share and discuss about it | |
6 | * every time possible with every body. | |
7 | * | |
8 | * Contributors: | |
9 | * ron190 at ymail dot com - initial implementation | |
10 | ******************************************************************************/ | |
11 | package com.jsql.view.swing.menubar; | |
12 | ||
13 | import com.jsql.model.InjectionModel; | |
14 | import com.jsql.util.GitUtil.ShowOnConsole; | |
15 | import com.jsql.util.I18nUtil; | |
16 | import com.jsql.util.LogLevelUtil; | |
17 | import com.jsql.view.swing.action.ActionNewWindow; | |
18 | import com.jsql.view.swing.action.ActionSaveTab; | |
19 | import com.jsql.view.swing.action.HotkeyUtil; | |
20 | import com.jsql.view.swing.console.JTextPaneAppender; | |
21 | import com.jsql.view.swing.dialog.DialogAbout; | |
22 | import com.jsql.view.swing.dialog.DialogTranslate; | |
23 | import com.jsql.view.swing.dialog.translate.Language; | |
24 | import com.jsql.view.swing.interaction.CreateTabHelper; | |
25 | import com.jsql.view.swing.manager.util.JButtonStateful; | |
26 | import com.jsql.view.swing.panel.PanelPreferences; | |
27 | import com.jsql.view.swing.scrollpane.LightScrollPane; | |
28 | import com.jsql.view.swing.sql.SqlEngine; | |
29 | import com.jsql.view.swing.tab.TabHeader; | |
30 | import com.jsql.view.swing.table.PanelTable; | |
31 | import com.jsql.view.swing.text.JPopupTextArea; | |
32 | import com.jsql.view.swing.text.JTextFieldPlaceholder; | |
33 | import com.jsql.view.swing.text.JToolTipI18n; | |
34 | import com.jsql.view.swing.tree.model.NodeModelEmpty; | |
35 | import com.jsql.view.swing.util.I18nViewUtil; | |
36 | import com.jsql.view.swing.util.MediatorHelper; | |
37 | import com.jsql.view.swing.util.UiUtil; | |
38 | import org.apache.commons.lang3.ArrayUtils; | |
39 | import org.apache.commons.lang3.StringUtils; | |
40 | import org.apache.logging.log4j.LogManager; | |
41 | import org.apache.logging.log4j.Logger; | |
42 | ||
43 | import javax.swing.*; | |
44 | import javax.swing.plaf.basic.BasicCheckBoxMenuItemUI; | |
45 | import javax.swing.table.JTableHeader; | |
46 | import javax.swing.table.TableColumnModel; | |
47 | import javax.swing.text.JTextComponent; | |
48 | import javax.swing.text.StyleConstants; | |
49 | import java.awt.*; | |
50 | import java.awt.event.*; | |
51 | import java.util.AbstractMap.SimpleEntry; | |
52 | import java.util.Locale; | |
53 | import java.util.ResourceBundle; | |
54 | import java.util.prefs.Preferences; | |
55 | import java.util.stream.Stream; | |
56 | ||
57 | /** | |
58 | * Application main menubar. | |
59 | */ | |
60 | public class Menubar extends JMenuBar { | |
61 | | |
62 | /** | |
63 | * Log4j logger sent to view. | |
64 | */ | |
65 | private static final Logger LOGGER = LogManager.getRootLogger(); | |
66 | | |
67 | // Checkbox item to show/hide chunk console. | |
68 | private JCheckBoxMenuItem chunkMenu; | |
69 | ||
70 | // Checkbox item to show/hide java console. | |
71 | private JCheckBoxMenuItem javaDebugMenu; | |
72 | | |
73 | private JMenu menuView; | |
74 | | |
75 | private JMenuItem itemArabic; | |
76 | private JMenuItem itemEnglish; | |
77 | private JMenuItem itemChinese; | |
78 | private JMenuItem itemRussian; | |
79 | private JMenuItem itemFrench; | |
80 | private JMenuItem itemCzech; | |
81 | private JMenuItem itemTurkish; | |
82 | private JMenuItem itemGerman; | |
83 | private JMenuItem itemDutch; | |
84 | private JMenuItem itemIndonesian; | |
85 | private JMenuItem itemItalian; | |
86 | private JMenuItem itemSpanish; | |
87 | private JMenuItem itemPortuguese; | |
88 | private JMenuItem itemPolish; | |
89 | private JMenuItem itemRomanian; | |
90 | private JMenuItem itemKorean; | |
91 | private JMenuItem itemSwedish; | |
92 | private JMenuItem itemFinnish; | |
93 | | |
94 | private JMenuItem itemIntoHindi; | |
95 | private JMenuItem itemIntoArabic; | |
96 | private JMenuItem itemIntoRussia; | |
97 | private JMenuItem itemIntoChina; | |
98 | private JMenuItem itemIntoFrench; | |
99 | private JMenuItem itemIntoTurkish; | |
100 | private JMenuItem itemIntoCzech; | |
101 | private JMenuItem itemIntoGerman; | |
102 | private JMenuItem itemIntoDutch; | |
103 | private JMenuItem itemIntoIndonesian; | |
104 | private JMenuItem itemIntoItalian; | |
105 | private JMenuItem itemIntoSpanish; | |
106 | private JMenuItem itemIntoSwedish; | |
107 | private JMenuItem itemIntoPortuguese; | |
108 | private JMenuItem itemIntoPolish; | |
109 | private JMenuItem itemIntoKorean; | |
110 | private JMenuItem itemIntoJapanese; | |
111 | private JMenuItem itemIntoRomanian; | |
112 | private JMenuItem itemIntoTamil; | |
113 | private JMenuItem itemIntoFinnish; | |
114 | | |
115 | private static final String KEY_MENU_SQL_ENGINE = "MENUBAR_SQL_ENGINE"; | |
116 | private static final String KEY_MENU_PREFERENCES = "MENUBAR_PREFERENCES"; | |
117 | private static final String LANGUAGE_IN_ID = "in-ID"; | |
118 | ||
119 | /** | |
120 | * Create a menubar on main frame. | |
121 | */ | |
122 | public Menubar() { | |
123 | ||
124 | JMenu menuFile = this.initializeMenuFile(); | |
125 | JMenu menuEdit = this.initializeMenuEdit(); | |
126 | JMenu menuCommunity = this.initializeMenuCommunity(); | |
127 | JMenu menuWindows = this.initializeMenuWindows(); | |
128 | JMenu menuHelp = this.initializeMenuHelp(); | |
129 | ||
130 | this.add(menuFile); | |
131 | this.add(menuEdit); | |
132 | this.add(menuCommunity); | |
133 | this.add(menuWindows); | |
134 | this.add(menuHelp); | |
135 | } | |
136 | ||
137 | private JMenu initializeMenuWindows() { | |
138 | | |
139 | // Window Menu > Preferences | |
140 | var menuWindows = new JMenu(I18nUtil.valueByKey("MENUBAR_WINDOWS")); | |
141 |
1
1. initializeMenuWindows : removed call to javax/swing/JMenu::setName → NO_COVERAGE |
menuWindows.setName("menuWindows"); |
142 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("MENUBAR_WINDOWS", menuWindows); |
143 |
1
1. initializeMenuWindows : removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE |
menuWindows.setMnemonic('W'); |
144 | ||
145 | JMenuItem itemNewWindows = new JMenuItemWithMargin(new ActionNewWindow()); | |
146 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("NEW_WINDOW_MENU", itemNewWindows); |
147 | | |
148 | menuWindows.add(itemNewWindows); | |
149 | var menuAppearance = new JMenu("Appearance"); | |
150 | JMenuItem itemNewWindows4k = new JMenuItemWithMargin( | |
151 | new ActionNewWindow("New 4K Window", "-Dsun.java2d.uiScale=2.5") | |
152 | ); | |
153 | menuAppearance.add(itemNewWindows4k); | |
154 | menuWindows.add(itemNewWindows); | |
155 | menuWindows.add(menuAppearance); | |
156 | menuWindows.add(new JSeparator()); | |
157 | ||
158 | JMenu menuTranslation = this.initializeMenuTranslation(); | |
159 | | |
160 | menuWindows.add(menuTranslation); | |
161 | menuWindows.add(new JSeparator()); | |
162 | | |
163 | this.menuView = new JMenu(I18nUtil.valueByKey("MENUBAR_VIEW")); | |
164 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("MENUBAR_VIEW", this.menuView); |
165 |
1
1. initializeMenuWindows : removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE |
this.menuView.setMnemonic('V'); |
166 | | |
167 | var database = new JMenuItem(I18nUtil.valueByKey("DATABASE_TAB"), UiUtil.ICON_DATABASE_SERVER); | |
168 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("DATABASE_TAB", database); |
169 | this.menuView.add(database); | |
170 | | |
171 | var adminPage = new JMenuItem(I18nUtil.valueByKey("ADMINPAGE_TAB"), UiUtil.ICON_ADMIN_SERVER); | |
172 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("ADMINPAGE_TAB", adminPage); |
173 | this.menuView.add(adminPage); | |
174 | | |
175 | var file = new JMenuItem(I18nUtil.valueByKey("FILE_TAB"), UiUtil.ICON_FILE_SERVER); | |
176 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("FILE_TAB", file); |
177 | this.menuView.add(file); | |
178 | | |
179 | var webshell = new JMenuItem(I18nUtil.valueByKey("WEBSHELL_TAB"), UiUtil.ICON_SHELL_SERVER); | |
180 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("WEBSHELL_TAB", webshell); |
181 | this.menuView.add(webshell); | |
182 | | |
183 | var sqlshell = new JMenuItem(I18nUtil.valueByKey("SQLSHELL_TAB"), UiUtil.ICON_SHELL_SERVER); | |
184 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("SQLSHELL_TAB", sqlshell); |
185 | this.menuView.add(sqlshell); | |
186 | | |
187 | var upload = new JMenuItem(I18nUtil.valueByKey("UPLOAD_TAB"), UiUtil.ICON_UPLOAD); | |
188 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("UPLOAD_TAB", upload); |
189 | this.menuView.add(upload); | |
190 | | |
191 | var bruteforce = new JMenuItem(I18nUtil.valueByKey("BRUTEFORCE_TAB"), UiUtil.ICON_BRUTER); | |
192 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("BRUTEFORCE_TAB", bruteforce); |
193 | this.menuView.add(bruteforce); | |
194 | | |
195 | var coder = new JMenuItem(I18nUtil.valueByKey("CODER_TAB"), UiUtil.ICON_CODER); | |
196 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("CODER_TAB", coder); |
197 | this.menuView.add(coder); | |
198 | | |
199 | var scanList = new JMenuItem(I18nUtil.valueByKey("SCANLIST_TAB"), UiUtil.ICON_SCANLIST); | |
200 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("SCANLIST_TAB", scanList); |
201 | this.menuView.add(scanList); | |
202 | menuWindows.add(this.menuView); | |
203 | ||
204 | Preferences prefs = Preferences.userRoot().node(InjectionModel.class.getName()); | |
205 | ||
206 | var menuPanel = new JMenu(I18nUtil.valueByKey("MENUBAR_PANEL")); | |
207 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("MENUBAR_PANEL", menuPanel); |
208 |
1
1. initializeMenuWindows : removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE |
this.menuView.setMnemonic('V'); |
209 | | |
210 | this.chunkMenu = new JCheckBoxMenuItem( | |
211 | I18nUtil.valueByKey("CONSOLE_CHUNK_LABEL"), | |
212 | UiUtil.ICON_CHUNK, | |
213 | prefs.getBoolean(UiUtil.CHUNK_VISIBLE, true) | |
214 | ); | |
215 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("CONSOLE_CHUNK_LABEL", this.chunkMenu); |
216 | menuPanel.add(this.chunkMenu); | |
217 | | |
218 | var binaryMenu = new JCheckBoxMenuItem( | |
219 | I18nUtil.valueByKey("CONSOLE_BINARY_LABEL"), | |
220 | UiUtil.ICON_BINARY, | |
221 | prefs.getBoolean(UiUtil.BINARY_VISIBLE, true) | |
222 | ); | |
223 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("CONSOLE_BINARY_LABEL", binaryMenu); |
224 | menuPanel.add(binaryMenu); | |
225 | | |
226 | var networkMenu = new JCheckBoxMenuItem( | |
227 | I18nUtil.valueByKey("CONSOLE_NETWORK_LABEL"), | |
228 | UiUtil.ICON_HEADER, | |
229 | prefs.getBoolean(UiUtil.NETWORK_VISIBLE, true) | |
230 | ); | |
231 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("CONSOLE_NETWORK_LABEL", networkMenu); |
232 | menuPanel.add(networkMenu); | |
233 | | |
234 | this.javaDebugMenu = new JCheckBoxMenuItem( | |
235 | I18nUtil.valueByKey("CONSOLE_JAVA_LABEL"), | |
236 | UiUtil.ICON_CUP, | |
237 | prefs.getBoolean(UiUtil.JAVA_VISIBLE, false) | |
238 | ); | |
239 |
1
1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("CONSOLE_JAVA_LABEL", this.javaDebugMenu); |
240 | ||
241 | for (var menuItem: new JCheckBoxMenuItem[]{ this.chunkMenu, binaryMenu, networkMenu, this.javaDebugMenu }) { | |
242 |
1
1. initializeMenuWindows : removed call to javax/swing/JCheckBoxMenuItem::setUI → NO_COVERAGE |
menuItem.setUI( |
243 | new BasicCheckBoxMenuItemUI() { | |
244 | @Override | |
245 | protected void doClick(MenuSelectionManager msm) { | |
246 |
1
1. doClick : removed call to javax/swing/JMenuItem::doClick → NO_COVERAGE |
this.menuItem.doClick(0); |
247 | } | |
248 | } | |
249 | ); | |
250 | } | |
251 | ||
252 |
1
1. initializeMenuWindows : removed call to javax/swing/JCheckBoxMenuItem::addActionListener → NO_COVERAGE |
this.chunkMenu.addActionListener(actionEvent -> { |
253 |
1
1. lambda$initializeMenuWindows$0 : negated conditional → NO_COVERAGE |
if (this.chunkMenu.isSelected()) { |
254 |
1
1. lambda$initializeMenuWindows$0 : removed call to com/jsql/view/swing/panel/PanelConsoles::insertChunkTab → NO_COVERAGE |
MediatorHelper.panelConsoles().insertChunkTab(); |
255 | } else { | |
256 |
1
1. lambda$initializeMenuWindows$0 : removed call to com/jsql/view/swing/tab/TabConsoles::remove → NO_COVERAGE |
MediatorHelper.tabConsoles().remove(MediatorHelper.tabConsoles().indexOfTab(UiUtil.ICON_CHUNK)); |
257 | } | |
258 | }); | |
259 | | |
260 |
1
1. initializeMenuWindows : removed call to javax/swing/JCheckBoxMenuItem::addActionListener → NO_COVERAGE |
binaryMenu.addActionListener(actionEvent -> { |
261 |
1
1. lambda$initializeMenuWindows$1 : negated conditional → NO_COVERAGE |
if (binaryMenu.isSelected()) { |
262 |
1
1. lambda$initializeMenuWindows$1 : removed call to com/jsql/view/swing/panel/PanelConsoles::insertBooleanTab → NO_COVERAGE |
MediatorHelper.panelConsoles().insertBooleanTab(); |
263 | } else { | |
264 |
1
1. lambda$initializeMenuWindows$1 : removed call to com/jsql/view/swing/tab/TabConsoles::remove → NO_COVERAGE |
MediatorHelper.tabConsoles().remove(MediatorHelper.tabConsoles().indexOfTab(UiUtil.ICON_BINARY)); |
265 | } | |
266 | }); | |
267 | | |
268 |
1
1. initializeMenuWindows : removed call to javax/swing/JCheckBoxMenuItem::addActionListener → NO_COVERAGE |
networkMenu.addActionListener(actionEvent -> { |
269 |
1
1. lambda$initializeMenuWindows$2 : negated conditional → NO_COVERAGE |
if (networkMenu.isSelected()) { |
270 |
1
1. lambda$initializeMenuWindows$2 : removed call to com/jsql/view/swing/panel/PanelConsoles::insertNetworkTab → NO_COVERAGE |
MediatorHelper.panelConsoles().insertNetworkTab(); |
271 | } else { | |
272 |
1
1. lambda$initializeMenuWindows$2 : removed call to com/jsql/view/swing/tab/TabConsoles::remove → NO_COVERAGE |
MediatorHelper.tabConsoles().remove(MediatorHelper.tabConsoles().indexOfTab(UiUtil.ICON_HEADER)); |
273 | } | |
274 | }); | |
275 | | |
276 |
1
1. initializeMenuWindows : removed call to javax/swing/JCheckBoxMenuItem::addActionListener → NO_COVERAGE |
this.javaDebugMenu.addActionListener(actionEvent -> { |
277 |
1
1. lambda$initializeMenuWindows$3 : negated conditional → NO_COVERAGE |
if (this.javaDebugMenu.isSelected()) { |
278 |
1
1. lambda$initializeMenuWindows$3 : removed call to com/jsql/view/swing/panel/PanelConsoles::insertJavaTab → NO_COVERAGE |
MediatorHelper.panelConsoles().insertJavaTab(); |
279 | } else { | |
280 |
1
1. lambda$initializeMenuWindows$3 : removed call to com/jsql/view/swing/tab/TabConsoles::remove → NO_COVERAGE |
MediatorHelper.tabConsoles().remove(MediatorHelper.tabConsoles().indexOfTab(UiUtil.ICON_CUP)); |
281 | } | |
282 | }); | |
283 | ||
284 | menuPanel.add(this.javaDebugMenu); | |
285 | | |
286 | menuWindows.add(menuPanel); | |
287 | menuWindows.add(new JSeparator()); | |
288 | ||
289 |
1
1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE |
database.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, InputEvent.CTRL_DOWN_MASK)); |
290 |
1
1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE |
adminPage.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, InputEvent.CTRL_DOWN_MASK)); |
291 |
1
1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE |
file.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_3, InputEvent.CTRL_DOWN_MASK)); |
292 |
1
1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE |
webshell.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_4, InputEvent.CTRL_DOWN_MASK)); |
293 |
1
1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE |
sqlshell.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_5, InputEvent.CTRL_DOWN_MASK)); |
294 |
1
1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE |
upload.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_6, InputEvent.CTRL_DOWN_MASK)); |
295 |
1
1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE |
bruteforce.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_7, InputEvent.CTRL_DOWN_MASK)); |
296 |
1
1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE |
coder.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_8, InputEvent.CTRL_DOWN_MASK)); |
297 |
1
1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE |
scanList.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_9, InputEvent.CTRL_DOWN_MASK)); |
298 | ||
299 |
2
1. initializeMenuWindows : changed conditional boundary → NO_COVERAGE 2. initializeMenuWindows : negated conditional → NO_COVERAGE |
for (var position = 0 ; position < this.menuView.getItemCount() ; position++) { |
300 | | |
301 | final JMenuItem itemMenu = this.menuView.getItem(position); | |
302 | final int positionFinal = position; | |
303 |
2
1. lambda$initializeMenuWindows$4 : removed call to com/jsql/view/swing/tab/TabManagersProxy::setSelectedIndex → NO_COVERAGE 2. initializeMenuWindows : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
itemMenu.addActionListener(actionEvent -> MediatorHelper.tabManagers().setSelectedIndex(positionFinal)); |
304 | } | |
305 | ||
306 | JMenuItem itemPreferences = this.initializeItemPreferences(); | |
307 |
1
1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setName → NO_COVERAGE |
itemPreferences.setName("itemPreferences"); |
308 | JMenuItem itemSqlEngine = this.initializeItemSqlEngine(); | |
309 |
1
1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setName → NO_COVERAGE |
itemSqlEngine.setName("itemSqlEngine"); |
310 | | |
311 | menuWindows.add(itemSqlEngine); | |
312 | menuWindows.add(itemPreferences); | |
313 | | |
314 |
1
1. initializeMenuWindows : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuWindows → NO_COVERAGE |
return menuWindows; |
315 | } | |
316 | ||
317 | private JMenu initializeMenuHelp() { | |
318 | | |
319 | // Help Menu > about | |
320 | var menuHelp = new JMenu(I18nUtil.valueByKey("MENUBAR_HELP")); | |
321 |
1
1. initializeMenuHelp : removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE |
menuHelp.setMnemonic('H'); |
322 |
1
1. initializeMenuHelp : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("MENUBAR_HELP", menuHelp); |
323 |
1
1. initializeMenuHelp : removed call to javax/swing/JMenu::setName → NO_COVERAGE |
menuHelp.setName("menuHelp"); |
324 | | |
325 | JMenuItem itemHelp = new JMenuItemWithMargin(I18nUtil.valueByKey("MENUBAR_HELP_ABOUT"), 'A'); | |
326 |
1
1. initializeMenuHelp : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("MENUBAR_HELP_ABOUT", itemHelp); |
327 |
1
1. initializeMenuHelp : removed call to javax/swing/JMenuItem::setName → NO_COVERAGE |
itemHelp.setName("itemHelp"); |
328 | | |
329 | JMenuItem itemUpdate = new JMenuItemWithMargin(I18nUtil.valueByKey("MENUBAR_HELP_UPDATE"), 'U'); | |
330 |
1
1. initializeMenuHelp : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("MENUBAR_HELP_UPDATE", itemUpdate); |
331 | ||
332 | // Render the About dialog behind scene | |
333 | final var aboutDiag = new DialogAbout(); | |
334 |
1
1. initializeMenuHelp : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
itemHelp.addActionListener(actionEvent -> { |
335 | | |
336 | // Center the dialog | |
337 |
1
1. lambda$initializeMenuHelp$5 : negated conditional → NO_COVERAGE |
if (!aboutDiag.isVisible()) { |
338 | | |
339 |
1
1. lambda$initializeMenuHelp$5 : removed call to com/jsql/view/swing/dialog/DialogAbout::initializeDialog → NO_COVERAGE |
aboutDiag.initializeDialog(); |
340 | // needed here for button focus | |
341 |
1
1. lambda$initializeMenuHelp$5 : removed call to com/jsql/view/swing/dialog/DialogAbout::setVisible → NO_COVERAGE |
aboutDiag.setVisible(true); |
342 |
1
1. lambda$initializeMenuHelp$5 : removed call to com/jsql/view/swing/dialog/DialogAbout::requestButtonFocus → NO_COVERAGE |
aboutDiag.requestButtonFocus(); |
343 | } | |
344 | | |
345 |
1
1. lambda$initializeMenuHelp$5 : removed call to com/jsql/view/swing/dialog/DialogAbout::setVisible → NO_COVERAGE |
aboutDiag.setVisible(true); |
346 | }); | |
347 |
1
1. initializeMenuHelp : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
itemUpdate.addActionListener(new ActionCheckUpdate()); |
348 | | |
349 | menuHelp.add(itemUpdate); | |
350 | menuHelp.add(new JSeparator()); | |
351 | menuHelp.add(itemHelp); | |
352 | | |
353 |
1
1. initializeMenuHelp : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuHelp → NO_COVERAGE |
return menuHelp; |
354 | } | |
355 | ||
356 | private JMenuItem initializeItemSqlEngine() { | |
357 | | |
358 | var itemSqlEngine = new JMenuItem(I18nUtil.valueByKey(KEY_MENU_SQL_ENGINE)); | |
359 |
1
1. initializeItemSqlEngine : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey(KEY_MENU_SQL_ENGINE, itemSqlEngine); |
360 | | |
361 | // Render the SQL Engine dialog behind scene | |
362 | var titleTabSqlEngine = "SQL Engine"; | |
363 | | |
364 |
1
1. initializeItemSqlEngine : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
itemSqlEngine.addActionListener(actionEvent -> { |
365 | | |
366 |
2
1. lambda$initializeItemSqlEngine$6 : changed conditional boundary → NO_COVERAGE 2. lambda$initializeItemSqlEngine$6 : negated conditional → NO_COVERAGE |
for (var i = 0; i < MediatorHelper.tabResults().getTabCount() ; i++) { |
367 |
1
1. lambda$initializeItemSqlEngine$6 : negated conditional → NO_COVERAGE |
if (titleTabSqlEngine.equals(MediatorHelper.tabResults().getTitleAt(i))) { |
368 | | |
369 |
1
1. lambda$initializeItemSqlEngine$6 : removed call to com/jsql/view/swing/tab/TabResults::setSelectedIndex → NO_COVERAGE |
MediatorHelper.tabResults().setSelectedIndex(i); |
370 | return; | |
371 | } | |
372 | } | |
373 | | |
374 |
1
1. lambda$initializeItemSqlEngine$6 : removed call to com/jsql/view/swing/interaction/CreateTabHelper::initializeSplitOrientation → NO_COVERAGE |
CreateTabHelper.initializeSplitOrientation(); |
375 | ||
376 | var panelSqlEngine = new SqlEngine(); | |
377 | | |
378 |
1
1. lambda$initializeItemSqlEngine$6 : removed call to com/jsql/view/swing/tab/TabResults::addTab → NO_COVERAGE |
MediatorHelper.tabResults().addTab(titleTabSqlEngine, panelSqlEngine); |
379 | ||
380 | // Focus on the new tab | |
381 |
1
1. lambda$initializeItemSqlEngine$6 : removed call to com/jsql/view/swing/tab/TabResults::setSelectedComponent → NO_COVERAGE |
MediatorHelper.tabResults().setSelectedComponent(panelSqlEngine); |
382 | ||
383 | // Create a custom tab header with close button | |
384 | var header = new TabHeader(I18nViewUtil.valueByKey(KEY_MENU_SQL_ENGINE), UiUtil.ICON_COG, panelSqlEngine); | |
385 |
1
1. lambda$initializeItemSqlEngine$6 : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey(KEY_MENU_SQL_ENGINE, header.getTabTitleLabel()); |
386 | ||
387 | // Apply the custom header to the tab | |
388 |
1
1. lambda$initializeItemSqlEngine$6 : removed call to com/jsql/view/swing/tab/TabResults::setTabComponentAt → NO_COVERAGE |
MediatorHelper.tabResults().setTabComponentAt(MediatorHelper.tabResults().indexOfComponent(panelSqlEngine), header); |
389 | }); | |
390 | | |
391 |
1
1. initializeItemSqlEngine : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeItemSqlEngine → NO_COVERAGE |
return itemSqlEngine; |
392 | } | |
393 | ||
394 | private JMenuItem initializeItemPreferences() { | |
395 | | |
396 | JMenuItem itemPreferences = new JMenuItemWithMargin(I18nUtil.valueByKey(KEY_MENU_PREFERENCES), 'P'); | |
397 |
1
1. initializeItemPreferences : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey(KEY_MENU_PREFERENCES, itemPreferences); |
398 | | |
399 | // Render the Preferences dialog behind scene | |
400 | var titleTabPreferences = "Preferences"; | |
401 | | |
402 | // Single rendering | |
403 | var panelPreferences = new PanelPreferences(); | |
404 | | |
405 |
1
1. initializeItemPreferences : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
itemPreferences.addActionListener(actionEvent -> { |
406 | | |
407 |
2
1. lambda$initializeItemPreferences$8 : changed conditional boundary → NO_COVERAGE 2. lambda$initializeItemPreferences$8 : negated conditional → NO_COVERAGE |
for (var i = 0; i < MediatorHelper.tabResults().getTabCount() ; i++) { |
408 |
1
1. lambda$initializeItemPreferences$8 : negated conditional → NO_COVERAGE |
if (titleTabPreferences.equals(MediatorHelper.tabResults().getTitleAt(i))) { |
409 | | |
410 |
1
1. lambda$initializeItemPreferences$8 : removed call to com/jsql/view/swing/tab/TabResults::setSelectedIndex → NO_COVERAGE |
MediatorHelper.tabResults().setSelectedIndex(i); |
411 | return; | |
412 | } | |
413 | } | |
414 | | |
415 |
1
1. lambda$initializeItemPreferences$8 : removed call to com/jsql/view/swing/interaction/CreateTabHelper::initializeSplitOrientation → NO_COVERAGE |
CreateTabHelper.initializeSplitOrientation(); |
416 | | |
417 | AdjustmentListener singleItemScroll = adjustmentEvent -> { | |
418 | | |
419 | // The user scrolled the List (using the bar, mouse wheel or something else): | |
420 |
1
1. lambda$initializeItemPreferences$7 : negated conditional → NO_COVERAGE |
if (adjustmentEvent.getAdjustmentType() == AdjustmentEvent.TRACK) { |
421 | | |
422 | // Jump to the next "block" (which is a row". | |
423 |
1
1. lambda$initializeItemPreferences$7 : removed call to java/awt/Adjustable::setBlockIncrement → NO_COVERAGE |
adjustmentEvent.getAdjustable().setBlockIncrement(100); |
424 |
1
1. lambda$initializeItemPreferences$7 : removed call to java/awt/Adjustable::setUnitIncrement → NO_COVERAGE |
adjustmentEvent.getAdjustable().setUnitIncrement(100); |
425 | } | |
426 | }; | |
427 | ||
428 | var scroller = new LightScrollPane(1, 0, 0, 0, panelPreferences); | |
429 |
1
1. lambda$initializeItemPreferences$8 : removed call to javax/swing/JScrollBar::addAdjustmentListener → NO_COVERAGE |
scroller.scrollPane.getVerticalScrollBar().addAdjustmentListener(singleItemScroll); |
430 | | |
431 |
1
1. lambda$initializeItemPreferences$8 : removed call to com/jsql/view/swing/tab/TabResults::addTab → NO_COVERAGE |
MediatorHelper.tabResults().addTab(titleTabPreferences, scroller); |
432 | ||
433 | // Focus on the new tab | |
434 |
1
1. lambda$initializeItemPreferences$8 : removed call to com/jsql/view/swing/tab/TabResults::setSelectedComponent → NO_COVERAGE |
MediatorHelper.tabResults().setSelectedComponent(scroller); |
435 | ||
436 | // Create a custom tab header with close button | |
437 | var header = new TabHeader(I18nViewUtil.valueByKey(KEY_MENU_PREFERENCES), UiUtil.ICON_COG, panelPreferences.getPanelTampering()); | |
438 |
1
1. lambda$initializeItemPreferences$8 : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey(KEY_MENU_PREFERENCES, header.getTabTitleLabel()); |
439 | ||
440 | // Apply the custom header to the tab | |
441 |
1
1. lambda$initializeItemPreferences$8 : removed call to com/jsql/view/swing/tab/TabResults::setTabComponentAt → NO_COVERAGE |
MediatorHelper.tabResults().setTabComponentAt(MediatorHelper.tabResults().indexOfComponent(scroller), header); |
442 | }); | |
443 | | |
444 |
1
1. initializeItemPreferences : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeItemPreferences → NO_COVERAGE |
return itemPreferences; |
445 | } | |
446 | ||
447 | private JMenu initializeMenuCommunity() { | |
448 | | |
449 | // Help Menu > about | |
450 | var menuCommunity = new JMenu(I18nUtil.valueByKey("MENUBAR_COMMUNITY")); | |
451 |
1
1. initializeMenuCommunity : removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE |
menuCommunity.setMnemonic('C'); |
452 |
1
1. initializeMenuCommunity : removed call to javax/swing/JMenu::setName → NO_COVERAGE |
menuCommunity.setName("menuCommunity"); |
453 |
1
1. initializeMenuCommunity : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("MENUBAR_COMMUNITY", menuCommunity); |
454 | | |
455 | JMenu menuI18nContribution = this.initializeMenuI18nContribution(); | |
456 |
1
1. initializeMenuCommunity : removed call to javax/swing/JMenu::setName → NO_COVERAGE |
menuI18nContribution.setName("menuI18nContribution"); |
457 | | |
458 | JMenuItem itemReportIssue = this.initializeItemReportIssue(); | |
459 |
1
1. initializeMenuCommunity : removed call to javax/swing/JMenuItem::setName → NO_COVERAGE |
itemReportIssue.setName("itemReportIssue"); |
460 | | |
461 | menuCommunity.add(menuI18nContribution); | |
462 | menuCommunity.add(new JSeparator()); | |
463 | menuCommunity.add(itemReportIssue); | |
464 | | |
465 |
1
1. initializeMenuCommunity : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuCommunity → NO_COVERAGE |
return menuCommunity; |
466 | } | |
467 | ||
468 | private JMenu initializeMenuTranslation() { | |
469 | | |
470 | var patternAsianDisplay = "<html><span style=\"font-family:'%s'\">%s</span></html>"; | |
471 | | |
472 | var menuTranslation = new JMenu(I18nUtil.valueByKey("MENUBAR_LANGUAGE")); | |
473 |
1
1. initializeMenuTranslation : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("MENUBAR_LANGUAGE", menuTranslation); |
474 |
1
1. initializeMenuTranslation : removed call to javax/swing/JMenu::setName → NO_COVERAGE |
menuTranslation.setName("menuTranslation"); |
475 | | |
476 | Object[] languages = Stream.of("ru zh es fr tr ko se ar cs it pt pl in nl ro de".split(StringUtils.SPACE)) | |
477 |
1
1. lambda$initializeMenuTranslation$9 : replaced return value with "" for com/jsql/view/swing/menubar/Menubar::lambda$initializeMenuTranslation$9 → NO_COVERAGE |
.map(flag -> Locale.forLanguageTag(flag).getLanguage()) |
478 | .toArray(); | |
479 | | |
480 |
1
1. initializeMenuTranslation : negated conditional → NO_COVERAGE |
boolean isEnglish = !ArrayUtils.contains(languages, Locale.getDefault().getLanguage()); |
481 | | |
482 | this.itemEnglish = new JRadioButtonMenuItem( | |
483 | Locale.forLanguageTag("en").getDisplayLanguage(Locale.forLanguageTag("en")), | |
484 | UiUtil.ICON_FLAG_EN, | |
485 | isEnglish | |
486 | ); | |
487 |
2
1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE 2. lambda$initializeMenuTranslation$10 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE |
this.itemEnglish.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.ROOT)); |
488 |
1
1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::setName → NO_COVERAGE |
this.itemEnglish.setName("itemEnglish"); |
489 | | |
490 | // Unhandled ClassFormatError #73790 on constructor: Unknown constant tag 73 in class file java/awt/font/TextLine | |
491 | this.itemArabic = new JRadioButtonMenuItem( | |
492 | String.format( | |
493 | patternAsianDisplay, | |
494 | UiUtil.FONT_NAME_MONO_ASIAN, | |
495 | Locale.forLanguageTag("ar").getDisplayLanguage(Locale.forLanguageTag("ar")) | |
496 | ), | |
497 | UiUtil.ICON_FLAG_AR, | |
498 | Locale.forLanguageTag("ar").getLanguage().equals(Locale.getDefault().getLanguage()) | |
499 | ); | |
500 |
2
1. lambda$initializeMenuTranslation$11 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE 2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
this.itemArabic.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("ar"))); |
501 |
1
1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::setComponentOrientation → NO_COVERAGE |
this.itemArabic.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); |
502 | | |
503 | this.itemRussian = new JRadioButtonMenuItem( | |
504 | Locale.forLanguageTag("ru").getDisplayLanguage(Locale.forLanguageTag("ru")), | |
505 | UiUtil.ICON_FLAG_RU, | |
506 | Locale.forLanguageTag("ru").getLanguage().equals(Locale.getDefault().getLanguage()) | |
507 | ); | |
508 |
2
1. lambda$initializeMenuTranslation$12 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE 2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
this.itemRussian.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("ru"))); |
509 |
1
1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::setName → NO_COVERAGE |
this.itemRussian.setName("itemRussian"); |
510 | | |
511 | this.itemCzech = new JRadioButtonMenuItem( | |
512 | Locale.forLanguageTag("cs").getDisplayLanguage(Locale.forLanguageTag("cs")), | |
513 | UiUtil.ICON_FLAG_CS, | |
514 | Locale.forLanguageTag("cs").getLanguage().equals(Locale.getDefault().getLanguage()) | |
515 | ); | |
516 |
2
1. lambda$initializeMenuTranslation$13 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE 2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
this.itemCzech.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("cs"))); |
517 | | |
518 | this.itemItalian = new JRadioButtonMenuItem( | |
519 | Locale.forLanguageTag("it").getDisplayLanguage(Locale.forLanguageTag("it")), | |
520 | UiUtil.ICON_FLAG_IT, | |
521 | Locale.forLanguageTag("it").getLanguage().equals(Locale.getDefault().getLanguage()) | |
522 | ); | |
523 |
2
1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE 2. lambda$initializeMenuTranslation$14 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE |
this.itemItalian.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("it"))); |
524 | | |
525 | this.itemIndonesian = new JRadioButtonMenuItem( | |
526 | Locale.forLanguageTag(LANGUAGE_IN_ID).getDisplayLanguage(Locale.forLanguageTag(LANGUAGE_IN_ID)), | |
527 | UiUtil.ICON_FLAG_IN_ID, | |
528 | Locale.forLanguageTag(LANGUAGE_IN_ID).getLanguage().equals(Locale.getDefault().getLanguage()) | |
529 | ); | |
530 |
2
1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE 2. lambda$initializeMenuTranslation$15 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE |
this.itemIndonesian.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag(LANGUAGE_IN_ID))); |
531 | | |
532 | this.itemDutch = new JRadioButtonMenuItem( | |
533 | Locale.forLanguageTag("nl").getDisplayLanguage(Locale.forLanguageTag("nl")), | |
534 | UiUtil.ICON_FLAG_NL, | |
535 | Locale.forLanguageTag("nl").getLanguage().equals(Locale.getDefault().getLanguage()) | |
536 | ); | |
537 |
2
1. lambda$initializeMenuTranslation$16 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE 2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
this.itemDutch.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("nl"))); |
538 | | |
539 | this.itemGerman = new JRadioButtonMenuItem( | |
540 | Locale.forLanguageTag("de").getDisplayLanguage(Locale.forLanguageTag("de")), | |
541 | UiUtil.ICON_FLAG_DE, | |
542 | Locale.forLanguageTag("de").getLanguage().equals(Locale.getDefault().getLanguage()) | |
543 | ); | |
544 |
2
1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE 2. lambda$initializeMenuTranslation$17 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE |
this.itemGerman.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("de"))); |
545 | | |
546 | this.itemTurkish = new JRadioButtonMenuItem( | |
547 | Locale.forLanguageTag("tr").getDisplayLanguage(Locale.forLanguageTag("tr")), | |
548 | UiUtil.ICON_FLAG_TR, | |
549 | Locale.forLanguageTag("tr").getLanguage().equals(Locale.getDefault().getLanguage()) | |
550 | ); | |
551 |
2
1. lambda$initializeMenuTranslation$18 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE 2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
this.itemTurkish.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("tr"))); |
552 | | |
553 | this.itemFrench = new JRadioButtonMenuItem( | |
554 | Locale.forLanguageTag("fr").getDisplayLanguage(Locale.forLanguageTag("fr")), | |
555 | UiUtil.ICON_FLAG_FR, | |
556 | Locale.forLanguageTag("fr").getLanguage().equals(Locale.getDefault().getLanguage()) | |
557 | ); | |
558 |
2
1. lambda$initializeMenuTranslation$19 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE 2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
this.itemFrench.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("fr"))); |
559 | | |
560 | this.itemSpanish = new JRadioButtonMenuItem( | |
561 | Locale.forLanguageTag("es").getDisplayLanguage(Locale.forLanguageTag("es")), | |
562 | UiUtil.ICON_FLAG_ES, | |
563 | Locale.forLanguageTag("es").getLanguage().equals(Locale.getDefault().getLanguage()) | |
564 | ); | |
565 |
2
1. lambda$initializeMenuTranslation$20 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE 2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
this.itemSpanish.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("es"))); |
566 | | |
567 | this.itemPortuguese = new JRadioButtonMenuItem( | |
568 | Locale.forLanguageTag("pt").getDisplayLanguage(Locale.forLanguageTag("pt")), | |
569 | UiUtil.ICON_FLAG_PT, | |
570 | Locale.forLanguageTag("pt").getLanguage().equals(Locale.getDefault().getLanguage()) | |
571 | ); | |
572 |
2
1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE 2. lambda$initializeMenuTranslation$21 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE |
this.itemPortuguese.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("pt"))); |
573 | | |
574 | this.itemChinese = new JRadioButtonMenuItem( | |
575 | String.format( | |
576 | patternAsianDisplay, | |
577 | UiUtil.FONT_NAME_MONO_ASIAN, | |
578 | Locale.forLanguageTag("zh").getDisplayLanguage(Locale.forLanguageTag("zh")) | |
579 | ), | |
580 | UiUtil.ICON_FLAG_ZH, | |
581 | Locale.forLanguageTag("zh").getLanguage().equals(Locale.getDefault().getLanguage()) | |
582 | ); | |
583 |
2
1. lambda$initializeMenuTranslation$22 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE 2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
this.itemChinese.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("zh"))); |
584 | | |
585 | this.itemPolish = new JRadioButtonMenuItem( | |
586 | Locale.forLanguageTag("pl").getDisplayLanguage(Locale.forLanguageTag("pl")), | |
587 | UiUtil.ICON_FLAG_PL, | |
588 | Locale.forLanguageTag("pl").getLanguage().equals(Locale.getDefault().getLanguage()) | |
589 | ); | |
590 |
2
1. lambda$initializeMenuTranslation$23 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE 2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
this.itemPolish.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("pl"))); |
591 | | |
592 | this.itemRomanian = new JRadioButtonMenuItem( | |
593 | Locale.forLanguageTag("ro").getDisplayLanguage(Locale.forLanguageTag("ro")), | |
594 | UiUtil.ICON_FLAG_RO, | |
595 | Locale.forLanguageTag("ro").getLanguage().equals(Locale.getDefault().getLanguage()) | |
596 | ); | |
597 |
2
1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE 2. lambda$initializeMenuTranslation$24 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE |
this.itemRomanian.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("ro"))); |
598 | | |
599 | this.itemSwedish = new JRadioButtonMenuItem( | |
600 | Locale.forLanguageTag("se").getDisplayLanguage(Locale.forLanguageTag("se")), | |
601 | UiUtil.ICON_FLAG_SE, | |
602 | Locale.forLanguageTag("se").getLanguage().equals(Locale.getDefault().getLanguage()) | |
603 | ); | |
604 |
2
1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE 2. lambda$initializeMenuTranslation$25 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE |
this.itemSwedish.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("se"))); |
605 | | |
606 | this.itemFinnish = new JRadioButtonMenuItem( | |
607 | Locale.forLanguageTag("fi").getDisplayLanguage(Locale.forLanguageTag("fi")), | |
608 | UiUtil.ICON_FLAG_FI, | |
609 | Locale.forLanguageTag("fi").getLanguage().equals(Locale.getDefault().getLanguage()) | |
610 | ); | |
611 |
2
1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE 2. lambda$initializeMenuTranslation$26 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE |
this.itemFinnish.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("fi"))); |
612 | | |
613 | this.itemKorean = new JRadioButtonMenuItem( | |
614 | String.format( | |
615 | patternAsianDisplay, | |
616 | UiUtil.FONT_NAME_MONO_ASIAN, | |
617 | Locale.forLanguageTag("ko").getDisplayLanguage(Locale.forLanguageTag("ko")) | |
618 | ), | |
619 | UiUtil.ICON_FLAG_KO, | |
620 | Locale.forLanguageTag("ko").getLanguage().equals(Locale.getDefault().getLanguage()) | |
621 | ); | |
622 |
2
1. lambda$initializeMenuTranslation$27 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE 2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
this.itemKorean.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("ko"))); |
623 | | |
624 | var groupRadioLanguage = new ButtonGroup(); | |
625 | | |
626 | Stream.of( | |
627 | this.itemEnglish, | |
628 | this.itemRussian, | |
629 | this.itemChinese, | |
630 | this.itemSpanish, | |
631 | this.itemFrench, | |
632 | this.itemTurkish, | |
633 | this.itemKorean, | |
634 | this.itemSwedish, | |
635 | this.itemFinnish, | |
636 | this.itemArabic, | |
637 | this.itemCzech, | |
638 | this.itemItalian, | |
639 | this.itemPortuguese, | |
640 | this.itemPolish, | |
641 | this.itemIndonesian, | |
642 | this.itemDutch, | |
643 | this.itemRomanian, | |
644 | this.itemGerman | |
645 | ) | |
646 |
1
1. initializeMenuTranslation : removed call to java/util/stream/Stream::forEach → NO_COVERAGE |
.forEach(menuItem -> { |
647 | | |
648 | menuTranslation.add(menuItem); | |
649 |
1
1. lambda$initializeMenuTranslation$28 : removed call to javax/swing/ButtonGroup::add → NO_COVERAGE |
groupRadioLanguage.add(menuItem); |
650 | }); | |
651 | | |
652 |
1
1. initializeMenuTranslation : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuTranslation → NO_COVERAGE |
return menuTranslation; |
653 | } | |
654 | ||
655 | private JMenu initializeMenuI18nContribution() { | |
656 | | |
657 | var menuI18nContribution = new JMenu(I18nUtil.valueByKey("MENUBAR_COMMUNITY_HELPTRANSLATE")); | |
658 |
1
1. initializeMenuI18nContribution : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("MENUBAR_COMMUNITY_HELPTRANSLATE", menuI18nContribution); |
659 | | |
660 | // Render the About dialog behind scene | |
661 | final var dialogTranslate = new DialogTranslate(); | |
662 | | |
663 | class ActionTranslate implements ActionListener { | |
664 | | |
665 | private final Language language; | |
666 | | |
667 | ActionTranslate(Language language) { | |
668 | this.language = language; | |
669 | } | |
670 | | |
671 | @Override | |
672 | public void actionPerformed(ActionEvent arg0) { | |
673 | | |
674 |
1
1. actionPerformed : removed call to com/jsql/view/swing/dialog/DialogTranslate::initializeDialog → NO_COVERAGE |
dialogTranslate.initializeDialog(this.language); |
675 | | |
676 | // Center the dialog | |
677 |
1
1. actionPerformed : negated conditional → NO_COVERAGE |
if (!dialogTranslate.isVisible()) { |
678 | | |
679 |
1
1. actionPerformed : removed call to com/jsql/view/swing/dialog/DialogTranslate::setSize → NO_COVERAGE |
dialogTranslate.setSize(640, 460); |
680 |
1
1. actionPerformed : removed call to com/jsql/view/swing/dialog/DialogTranslate::setLocationRelativeTo → NO_COVERAGE |
dialogTranslate.setLocationRelativeTo(MediatorHelper.frame()); |
681 |
1
1. actionPerformed : removed call to javax/swing/JRootPane::setDefaultButton → NO_COVERAGE |
dialogTranslate.getRootPane().setDefaultButton(dialogTranslate.getButtonSend()); |
682 | } | |
683 | | |
684 |
1
1. actionPerformed : removed call to com/jsql/view/swing/dialog/DialogTranslate::setVisible → NO_COVERAGE |
dialogTranslate.setVisible(true); |
685 | } | |
686 | } | |
687 | | |
688 | var formatMenuItemUTF8 = "<html><span style=\"font-family:'%s'\">%s</span>...</html>"; | |
689 | | |
690 | this.itemIntoHindi = new JMenuItem( | |
691 | String.format( | |
692 | formatMenuItemUTF8, | |
693 | UiUtil.FONT_NAME_MONO_ASIAN, | |
694 | Locale.forLanguageTag("hi").getDisplayLanguage(Locale.forLanguageTag("hi")) | |
695 | ), | |
696 | UiUtil.ICON_FLAG_HI | |
697 | ); | |
698 | this.itemIntoArabic = new JMenuItem( | |
699 | String.format( | |
700 | formatMenuItemUTF8, | |
701 | UiUtil.FONT_NAME_MONO_ASIAN, | |
702 | Locale.forLanguageTag("ar").getDisplayLanguage(Locale.forLanguageTag("ar")) | |
703 | ), | |
704 | UiUtil.ICON_FLAG_AR | |
705 | ); | |
706 | this.itemIntoRussia = new JMenuItem(Locale.forLanguageTag("ru").getDisplayLanguage(Locale.forLanguageTag("ru")) +"...", UiUtil.ICON_FLAG_RU); | |
707 | this.itemIntoChina = new JMenuItem( | |
708 | String.format( | |
709 | formatMenuItemUTF8, | |
710 | UiUtil.FONT_NAME_MONO_ASIAN, | |
711 | Locale.forLanguageTag("zh").getDisplayLanguage(Locale.forLanguageTag("zh")) | |
712 | ), | |
713 | UiUtil.ICON_FLAG_ZH | |
714 | ); | |
715 | this.itemIntoFrench = new JMenuItem(Locale.forLanguageTag("fr").getDisplayLanguage(Locale.forLanguageTag("fr")) +"...", UiUtil.ICON_FLAG_FR); | |
716 | this.itemIntoTurkish = new JMenuItem(Locale.forLanguageTag("tr").getDisplayLanguage(Locale.forLanguageTag("tr")) +"...", UiUtil.ICON_FLAG_TR); | |
717 | this.itemIntoCzech = new JMenuItem(Locale.forLanguageTag("cs").getDisplayLanguage(Locale.forLanguageTag("cs")) +"...", UiUtil.ICON_FLAG_CS); | |
718 | this.itemIntoDutch = new JMenuItem(Locale.forLanguageTag("nl").getDisplayLanguage(Locale.forLanguageTag("nl")) +"...", UiUtil.ICON_FLAG_NL); | |
719 | this.itemIntoGerman = new JMenuItem(Locale.forLanguageTag("de").getDisplayLanguage(Locale.forLanguageTag("de")) +"...", UiUtil.ICON_FLAG_DE); | |
720 | this.itemIntoIndonesian = new JMenuItem(Locale.forLanguageTag(LANGUAGE_IN_ID).getDisplayLanguage(Locale.forLanguageTag(LANGUAGE_IN_ID)) +"...", UiUtil.ICON_FLAG_IN_ID); | |
721 | this.itemIntoItalian = new JMenuItem(Locale.forLanguageTag("it").getDisplayLanguage(Locale.forLanguageTag("it")) +"...", UiUtil.ICON_FLAG_IT); | |
722 | this.itemIntoSpanish = new JMenuItem(Locale.forLanguageTag("es").getDisplayLanguage(Locale.forLanguageTag("es")) +"...", UiUtil.ICON_FLAG_ES); | |
723 | this.itemIntoPortuguese = new JMenuItem(Locale.forLanguageTag("pt").getDisplayLanguage(Locale.forLanguageTag("pt")) +"...", UiUtil.ICON_FLAG_PT); | |
724 | this.itemIntoPolish = new JMenuItem(Locale.forLanguageTag("pl").getDisplayLanguage(Locale.forLanguageTag("pl")) +"...", UiUtil.ICON_FLAG_PL); | |
725 | this.itemIntoRomanian = new JMenuItem(Locale.forLanguageTag("ro").getDisplayLanguage(Locale.forLanguageTag("ro")) +"...", UiUtil.ICON_FLAG_RO); | |
726 | this.itemIntoTamil = new JMenuItem(Locale.forLanguageTag("ta").getDisplayLanguage(Locale.forLanguageTag("ta")) +"...", UiUtil.ICON_FLAG_LK); | |
727 | this.itemIntoJapanese = new JMenuItem( | |
728 | String.format( | |
729 | formatMenuItemUTF8, | |
730 | UiUtil.FONT_NAME_MONO_ASIAN, | |
731 | Locale.forLanguageTag("ja").getDisplayLanguage(Locale.forLanguageTag("ja")) | |
732 | ), | |
733 | UiUtil.ICON_FLAG_JA | |
734 | ); | |
735 | this.itemIntoKorean = new JMenuItem( | |
736 | String.format( | |
737 | formatMenuItemUTF8, | |
738 | UiUtil.FONT_NAME_MONO_ASIAN, | |
739 | Locale.forLanguageTag("ko").getDisplayLanguage(Locale.forLanguageTag("ko")) | |
740 | ), | |
741 | UiUtil.ICON_FLAG_KO | |
742 | ); | |
743 | this.itemIntoSwedish = new JMenuItem(Locale.forLanguageTag("se").getDisplayLanguage(Locale.forLanguageTag("se")) +"...", UiUtil.ICON_FLAG_SE); | |
744 | this.itemIntoFinnish = new JMenuItem(Locale.forLanguageTag("fi").getDisplayLanguage(Locale.forLanguageTag("fi")) +"...", UiUtil.ICON_FLAG_FI); | |
745 | var itemIntoOther = new JMenuItem(I18nUtil.valueByKey("MENUBAR_COMMUNITY_ANOTHERLANGUAGE")); | |
746 |
1
1. initializeMenuI18nContribution : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("MENUBAR_COMMUNITY_ANOTHERLANGUAGE", itemIntoOther); |
747 | | |
748 |
1
1. initializeMenuI18nContribution : removed call to javax/swing/JMenuItem::setComponentOrientation → NO_COVERAGE |
this.itemIntoArabic.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); |
749 | | |
750 |
1
1. initializeMenuI18nContribution : removed call to javax/swing/JMenuItem::setName → NO_COVERAGE |
this.itemIntoFrench.setName("itemIntoFrench"); |
751 | | |
752 | Stream.of( | |
753 | this.itemIntoFrench, | |
754 | this.itemIntoSpanish, | |
755 | this.itemIntoSwedish, | |
756 | this.itemIntoFinnish, | |
757 | this.itemIntoTurkish, | |
758 | this.itemIntoCzech, | |
759 | this.itemIntoRomanian, | |
760 | this.itemIntoItalian, | |
761 | this.itemIntoPortuguese, | |
762 | this.itemIntoArabic, | |
763 | this.itemIntoPolish, | |
764 | this.itemIntoRussia, | |
765 | this.itemIntoChina, | |
766 | this.itemIntoGerman, | |
767 | this.itemIntoIndonesian, | |
768 | this.itemIntoJapanese, | |
769 | this.itemIntoKorean, | |
770 | this.itemIntoHindi, | |
771 | this.itemIntoDutch, | |
772 | this.itemIntoTamil, | |
773 | new JSeparator(), | |
774 | itemIntoOther | |
775 | ) | |
776 |
1
1. initializeMenuI18nContribution : removed call to java/util/stream/Stream::forEach → NO_COVERAGE |
.forEach(menuI18nContribution::add); |
777 | | |
778 | Stream.of( | |
779 | new SimpleEntry<>(this.itemIntoHindi, Language.HI), | |
780 | new SimpleEntry<>(this.itemIntoArabic, Language.AR), | |
781 | new SimpleEntry<>(this.itemIntoRussia, Language.RU), | |
782 | new SimpleEntry<>(this.itemIntoChina, Language.ZH), | |
783 | new SimpleEntry<>(this.itemIntoFrench, Language.FR), | |
784 | new SimpleEntry<>(this.itemIntoTurkish, Language.TR), | |
785 | new SimpleEntry<>(this.itemIntoCzech, Language.CS), | |
786 | new SimpleEntry<>(this.itemIntoGerman, Language.DE), | |
787 | new SimpleEntry<>(this.itemIntoRomanian, Language.RO), | |
788 | new SimpleEntry<>(this.itemIntoTamil, Language.TA), | |
789 | new SimpleEntry<>(this.itemIntoDutch, Language.NL), | |
790 | new SimpleEntry<>(this.itemIntoIndonesian, Language.IN_ID), | |
791 | new SimpleEntry<>(this.itemIntoItalian, Language.IT), | |
792 | new SimpleEntry<>(this.itemIntoSpanish, Language.ES), | |
793 | new SimpleEntry<>(this.itemIntoPortuguese, Language.PT), | |
794 | new SimpleEntry<>(this.itemIntoPolish, Language.PL), | |
795 | new SimpleEntry<>(this.itemIntoKorean, Language.KO), | |
796 | new SimpleEntry<>(this.itemIntoJapanese, Language.JA), | |
797 | new SimpleEntry<>(this.itemIntoSwedish, Language.SE), | |
798 | new SimpleEntry<>(this.itemIntoFinnish, Language.FI), | |
799 | new SimpleEntry<>(itemIntoOther, Language.OT) | |
800 | ) | |
801 |
2
1. lambda$initializeMenuI18nContribution$30 : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE 2. initializeMenuI18nContribution : removed call to java/util/stream/Stream::forEach → NO_COVERAGE |
.forEach(entry -> entry.getKey().addActionListener( |
802 | new ActionTranslate(entry.getValue()) | |
803 | )); | |
804 | | |
805 |
1
1. initializeMenuI18nContribution : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuI18nContribution → NO_COVERAGE |
return menuI18nContribution; |
806 | } | |
807 | ||
808 | private JMenuItem initializeItemReportIssue() { | |
809 | | |
810 | JMenuItem itemReportIssue = new JMenuItemWithMargin(I18nUtil.valueByKey("MENUBAR_COMMUNITY_REPORTISSUE"), 'R'); | |
811 |
1
1. initializeItemReportIssue : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("MENUBAR_COMMUNITY_REPORTISSUE", itemReportIssue); |
812 | | |
813 |
1
1. initializeItemReportIssue : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
itemReportIssue.addActionListener(actionEvent -> { |
814 | | |
815 | var panel = new JPanel(new BorderLayout()); | |
816 | final JTextArea textarea = new JPopupTextArea(new JTextArea()).getProxy(); | |
817 |
1
1. lambda$initializeItemReportIssue$31 : removed call to javax/swing/JTextArea::setFont → NO_COVERAGE |
textarea.setFont(new Font( |
818 | UiUtil.FONT_NAME_MONOSPACED, | |
819 | Font.PLAIN, | |
820 | UIManager.getDefaults().getFont("TextField.font").getSize() | |
821 | )); | |
822 |
1
1. lambda$initializeItemReportIssue$31 : removed call to javax/swing/JTextArea::setText → NO_COVERAGE |
textarea.setText( |
823 | "## What's the expected behavior?\n\n" | |
824 | + "## What's the actual behavior?\n\n" | |
825 | + "## Any other detailed information on the Issue?\n\n" | |
826 | + "## Steps to reproduce the problem\n\n" | |
827 | + " 1. ...\n" | |
828 | + " 2. ...\n\n" | |
829 | + "## [Community] Request for new feature\n\n" | |
830 | ); | |
831 |
1
1. lambda$initializeItemReportIssue$31 : removed call to javax/swing/JPanel::add → NO_COVERAGE |
panel.add(new JLabel("Describe your bug or issue :"), BorderLayout.NORTH); |
832 | panel.add(new LightScrollPane(1, 1, 1, 1, textarea)); | |
833 | | |
834 |
1
1. lambda$initializeItemReportIssue$31 : removed call to javax/swing/JPanel::setPreferredSize → NO_COVERAGE |
panel.setPreferredSize(new Dimension(400, 250)); |
835 |
1
1. lambda$initializeItemReportIssue$31 : removed call to javax/swing/JPanel::setMinimumSize → NO_COVERAGE |
panel.setMinimumSize(new Dimension(400, 250)); |
836 | | |
837 |
1
1. lambda$initializeItemReportIssue$31 : removed call to javax/swing/JTextArea::addMouseListener → NO_COVERAGE |
textarea.addMouseListener(new MouseAdapter() { |
838 | | |
839 | @Override | |
840 | public void mousePressed(MouseEvent e) { | |
841 | | |
842 |
1
1. mousePressed : removed call to java/awt/event/MouseAdapter::mousePressed → NO_COVERAGE |
super.mousePressed(e); |
843 | textarea.requestFocusInWindow(); | |
844 | } | |
845 | }); | |
846 | ||
847 | int result = JOptionPane.showOptionDialog( | |
848 | MediatorHelper.frame(), | |
849 | panel, | |
850 | "Report an issue or a bug", | |
851 | JOptionPane.OK_CANCEL_OPTION, | |
852 | JOptionPane.QUESTION_MESSAGE, | |
853 | null, | |
854 | new String[] { | |
855 | "Report", | |
856 | I18nUtil.valueByKey("LIST_ADD_VALUE_CANCEL") | |
857 | }, | |
858 | I18nUtil.valueByKey("LIST_ADD_VALUE_CANCEL") | |
859 | ); | |
860 | ||
861 |
2
1. lambda$initializeItemReportIssue$31 : negated conditional → NO_COVERAGE 2. lambda$initializeItemReportIssue$31 : negated conditional → NO_COVERAGE |
if (StringUtils.isNotEmpty(textarea.getText()) && result == JOptionPane.YES_OPTION) { |
862 |
1
1. lambda$initializeItemReportIssue$31 : removed call to com/jsql/util/GitUtil::sendReport → NO_COVERAGE |
MediatorHelper.model().getMediatorUtils().getGitUtil().sendReport(textarea.getText(), ShowOnConsole.YES, "Report"); |
863 | } | |
864 | }); | |
865 | | |
866 |
1
1. initializeItemReportIssue : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeItemReportIssue → NO_COVERAGE |
return itemReportIssue; |
867 | } | |
868 | ||
869 | private JMenu initializeMenuEdit() { | |
870 | | |
871 | // Edit Menu > copy | select all | |
872 | var menuEdit = new JMenu(I18nUtil.valueByKey("MENUBAR_EDIT")); | |
873 |
1
1. initializeMenuEdit : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("MENUBAR_EDIT", menuEdit); |
874 |
1
1. initializeMenuEdit : removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE |
menuEdit.setMnemonic('E'); |
875 | ||
876 | JMenuItem itemCopy = new JMenuItemWithMargin(I18nUtil.valueByKey("CONTEXT_MENU_COPY"), 'C'); | |
877 |
1
1. initializeMenuEdit : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("CONTEXT_MENU_COPY", itemCopy); |
878 |
1
1. initializeMenuEdit : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE |
itemCopy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_DOWN_MASK)); |
879 |
1
1. initializeMenuEdit : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
itemCopy.addActionListener(actionEvent -> { |
880 |
1
1. lambda$initializeMenuEdit$32 : negated conditional → NO_COVERAGE |
if (MediatorHelper.tabResults().getSelectedComponent() instanceof PanelTable) { |
881 |
1
1. lambda$initializeMenuEdit$32 : removed call to com/jsql/view/swing/table/PanelTable::copyTable → NO_COVERAGE |
((PanelTable) MediatorHelper.tabResults().getSelectedComponent()).copyTable(); |
882 |
1
1. lambda$initializeMenuEdit$32 : negated conditional → NO_COVERAGE |
} else if (MediatorHelper.tabResults().getSelectedComponent() instanceof JScrollPane) { |
883 |
1
1. lambda$initializeMenuEdit$32 : removed call to javax/swing/JTextArea::copy → NO_COVERAGE |
((JTextArea) ((JScrollPane) MediatorHelper.tabResults().getSelectedComponent()).getViewport().getView()).copy(); |
884 | } | |
885 | }); | |
886 | ||
887 | JMenuItem itemSelectAll = new JMenuItemWithMargin(I18nUtil.valueByKey("CONTEXT_MENU_SELECT_ALL"), 'A'); | |
888 |
1
1. initializeMenuEdit : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("CONTEXT_MENU_SELECT_ALL", itemSelectAll); |
889 |
1
1. initializeMenuEdit : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE |
itemSelectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_DOWN_MASK)); |
890 |
1
1. initializeMenuEdit : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
itemSelectAll.addActionListener(actionEvent -> { |
891 | | |
892 |
1
1. lambda$initializeMenuEdit$33 : negated conditional → NO_COVERAGE |
if (MediatorHelper.tabResults().getSelectedComponent() instanceof PanelTable) { |
893 |
1
1. lambda$initializeMenuEdit$33 : removed call to com/jsql/view/swing/table/PanelTable::selectTable → NO_COVERAGE |
((PanelTable) MediatorHelper.tabResults().getSelectedComponent()).selectTable(); |
894 |
1
1. lambda$initializeMenuEdit$33 : negated conditional → NO_COVERAGE |
} else if (MediatorHelper.tabResults().getSelectedComponent() instanceof JScrollPane) { |
895 | | |
896 | // Textarea need focus to select all | |
897 | ((JScrollPane) MediatorHelper.tabResults().getSelectedComponent()).getViewport().getView().requestFocusInWindow(); | |
898 |
1
1. lambda$initializeMenuEdit$33 : removed call to javax/swing/JTextArea::selectAll → NO_COVERAGE |
((JTextArea) ((JScrollPane) MediatorHelper.tabResults().getSelectedComponent()).getViewport().getView()).selectAll(); |
899 | } | |
900 | }); | |
901 | ||
902 | menuEdit.add(itemCopy); | |
903 | menuEdit.add(new JSeparator()); | |
904 | menuEdit.add(itemSelectAll); | |
905 | | |
906 |
1
1. initializeMenuEdit : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuEdit → NO_COVERAGE |
return menuEdit; |
907 | } | |
908 | ||
909 | private JMenu initializeMenuFile() { | |
910 | | |
911 | // File Menu > save tab | exit | |
912 | var menuFile = new JMenu(I18nUtil.valueByKey("MENUBAR_FILE")); | |
913 |
1
1. initializeMenuFile : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("MENUBAR_FILE", menuFile); |
914 |
1
1. initializeMenuFile : removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE |
menuFile.setMnemonic('F'); |
915 | ||
916 | JMenuItem itemSave = new JMenuItemWithMargin(new ActionSaveTab()); | |
917 |
1
1. initializeMenuFile : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("MENUBAR_FILE_SAVETABAS", itemSave); |
918 | ||
919 | JMenuItem itemExit = new JMenuItemWithMargin(I18nUtil.valueByKey("MENUBAR_FILE_EXIT"), 'x'); | |
920 |
1
1. initializeMenuFile : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE |
I18nViewUtil.addComponentForKey("MENUBAR_FILE_EXIT", itemExit); |
921 |
2
1. lambda$initializeMenuFile$34 : removed call to com/jsql/view/swing/JFrameView::dispose → NO_COVERAGE 2. initializeMenuFile : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE |
itemExit.addActionListener(actionEvent -> MediatorHelper.frame().dispose()); |
922 | ||
923 |
1
1. initializeMenuFile : removed call to com/jsql/view/swing/action/HotkeyUtil::addShortcut → NO_COVERAGE |
HotkeyUtil.addShortcut(Menubar.this); |
924 | ||
925 | menuFile.add(itemSave); | |
926 | menuFile.add(new JSeparator()); | |
927 | menuFile.add(itemExit); | |
928 | | |
929 |
1
1. initializeMenuFile : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuFile → NO_COVERAGE |
return menuFile; |
930 | } | |
931 | | |
932 | public void switchLocale(Locale newLocale) { | |
933 | | |
934 |
1
1. switchLocale : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE |
this.switchLocale(I18nUtil.getLocaleDefault(), newLocale, false); |
935 | } | |
936 | | |
937 | public void switchLocale(Locale oldLocale, Locale newLocale, boolean isStartup) { | |
938 | | |
939 |
1
1. switchLocale : removed call to com/jsql/util/I18nUtil::setLocaleDefault → NO_COVERAGE |
I18nUtil.setLocaleDefault(ResourceBundle.getBundle("i18n.jsql", newLocale)); |
940 |
1
1. switchLocale : removed call to com/jsql/view/swing/menubar/Menubar::switchNetworkTable → NO_COVERAGE |
this.switchNetworkTable(newLocale); |
941 |
1
1. switchLocale : removed call to com/jsql/view/swing/menubar/Menubar::switchI18nComponents → NO_COVERAGE |
this.switchI18nComponents(newLocale); |
942 |
1
1. switchLocale : removed call to com/jsql/view/swing/menubar/Menubar::switchOrientation → NO_COVERAGE |
this.switchOrientation(oldLocale, newLocale, isStartup); |
943 |
1
1. switchLocale : removed call to com/jsql/view/swing/menubar/Menubar::switchMenuItems → NO_COVERAGE |
this.switchMenuItems(); |
944 | | |
945 |
1
1. switchLocale : removed call to com/jsql/view/swing/tree/TreeDatabase::reloadNodes → NO_COVERAGE |
MediatorHelper.treeDatabase().reloadNodes(); |
946 | ||
947 | // IllegalArgumentException #92981 on revalidate() | |
948 | try { | |
949 |
1
1. switchLocale : removed call to com/jsql/view/swing/JFrameView::revalidate → NO_COVERAGE |
MediatorHelper.frame().revalidate(); // Fix glitches on Linux |
950 | } catch (IllegalArgumentException e) { | |
951 | LOGGER.log(LogLevelUtil.CONSOLE_JAVA, e, e); | |
952 | } | |
953 | } | |
954 | ||
955 | private void switchOrientation(Locale oldLocale, Locale newLocale, boolean isStartup) { | |
956 | | |
957 | var componentOrientation = ComponentOrientation.getOrientation(I18nUtil.getLocaleDefault()); | |
958 |
1
1. switchOrientation : removed call to com/jsql/view/swing/JFrameView::applyComponentOrientation → NO_COVERAGE |
MediatorHelper.frame().applyComponentOrientation(componentOrientation); |
959 | | |
960 |
1
1. switchOrientation : negated conditional → NO_COVERAGE |
if (!ComponentOrientation.getOrientation(oldLocale).equals(ComponentOrientation.getOrientation(newLocale))) { |
961 | | |
962 | JSplitPane splitPaneLeftRight = MediatorHelper.frame().getSplitHorizontalTopBottom().getSplitVerticalLeftRight(); | |
963 | | |
964 | var componentLeft = splitPaneLeftRight.getLeftComponent(); | |
965 | var componentRight = splitPaneLeftRight.getRightComponent(); | |
966 | ||
967 | // Reset components | |
968 |
1
1. switchOrientation : removed call to javax/swing/JSplitPane::setLeftComponent → NO_COVERAGE |
splitPaneLeftRight.setLeftComponent(null); |
969 |
1
1. switchOrientation : removed call to javax/swing/JSplitPane::setRightComponent → NO_COVERAGE |
splitPaneLeftRight.setRightComponent(null); |
970 | | |
971 |
1
1. switchOrientation : removed call to javax/swing/JSplitPane::setLeftComponent → NO_COVERAGE |
splitPaneLeftRight.setLeftComponent(componentRight); |
972 |
1
1. switchOrientation : removed call to javax/swing/JSplitPane::setRightComponent → NO_COVERAGE |
splitPaneLeftRight.setRightComponent(componentLeft); |
973 | | |
974 |
1
1. switchOrientation : negated conditional → NO_COVERAGE |
if (isStartup) { |
975 |
1
1. switchOrientation : removed call to javax/swing/JSplitPane::setDividerLocation → NO_COVERAGE |
splitPaneLeftRight.setDividerLocation( |
976 | splitPaneLeftRight.getDividerLocation() | |
977 | ); | |
978 | } else { | |
979 |
1
1. switchOrientation : removed call to javax/swing/JSplitPane::setDividerLocation → NO_COVERAGE |
splitPaneLeftRight.setDividerLocation( |
980 | splitPaneLeftRight.getWidth() - | |
981 |
1
1. switchOrientation : Replaced integer subtraction with addition → NO_COVERAGE |
splitPaneLeftRight.getDividerLocation() |
982 | ); | |
983 | } | |
984 | } | |
985 | | |
986 |
1
1. switchOrientation : removed call to com/jsql/view/swing/tab/TabResults::setComponentOrientation → NO_COVERAGE |
MediatorHelper.tabResults().setComponentOrientation(ComponentOrientation.getOrientation(newLocale)); |
987 | } | |
988 | ||
989 | private void switchI18nComponents(Locale newLocale) { | |
990 | | |
991 | for (String key: I18nViewUtil.keys()) { | |
992 | | |
993 | String textI18n = I18nViewUtil.valueByKey(key, newLocale); | |
994 | | |
995 | for (Object componentSwing: I18nViewUtil.componentsByKey(key)) { | |
996 |
1
1. switchI18nComponents : negated conditional → NO_COVERAGE |
if (componentSwing instanceof JTextFieldPlaceholder) { |
997 | // Textfield does not need <html> tags for asian fonts | |
998 |
1
1. switchI18nComponents : removed call to com/jsql/view/swing/text/JTextFieldPlaceholder::setPlaceholderText → NO_COVERAGE |
((JTextFieldPlaceholder) componentSwing).setPlaceholderText(I18nUtil.valueByKey(key)); |
999 |
1
1. switchI18nComponents : negated conditional → NO_COVERAGE |
} else if (componentSwing instanceof JToolTipI18n) { |
1000 |
1
1. switchI18nComponents : removed call to com/jsql/view/swing/text/JToolTipI18n::setText → NO_COVERAGE |
((JToolTipI18n) componentSwing).setText(textI18n); |
1001 |
1
1. switchI18nComponents : negated conditional → NO_COVERAGE |
} else if (componentSwing instanceof JLabel) { |
1002 |
1
1. switchI18nComponents : removed call to javax/swing/JLabel::setText → NO_COVERAGE |
((JLabel) componentSwing).setText(textI18n); |
1003 |
1
1. switchI18nComponents : negated conditional → NO_COVERAGE |
} else if (componentSwing instanceof JCheckBoxMenuItem) { |
1004 |
1
1. switchI18nComponents : removed call to javax/swing/JCheckBoxMenuItem::setText → NO_COVERAGE |
((JCheckBoxMenuItem) componentSwing).setText(textI18n); |
1005 |
1
1. switchI18nComponents : negated conditional → NO_COVERAGE |
} else if (componentSwing instanceof JMenuItem) { |
1006 |
1
1. switchI18nComponents : removed call to javax/swing/JMenuItem::setText → NO_COVERAGE |
((JMenuItem) componentSwing).setText(textI18n); |
1007 |
1
1. switchI18nComponents : negated conditional → NO_COVERAGE |
} else if (componentSwing instanceof JButtonStateful) { |
1008 |
1
1. switchI18nComponents : removed call to com/jsql/view/swing/manager/util/JButtonStateful::setText → NO_COVERAGE |
((JButtonStateful) componentSwing).setText(textI18n); |
1009 |
1
1. switchI18nComponents : negated conditional → NO_COVERAGE |
} else if (componentSwing instanceof NodeModelEmpty) { |
1010 |
1
1. switchI18nComponents : removed call to com/jsql/view/swing/tree/model/NodeModelEmpty::setText → NO_COVERAGE |
((NodeModelEmpty) componentSwing).setText(textI18n); |
1011 | } else { | |
1012 |
1
1. switchI18nComponents : removed call to javax/swing/text/JTextComponent::setText → NO_COVERAGE |
((JTextComponent) componentSwing).setText(textI18n); |
1013 | } | |
1014 | } | |
1015 | } | |
1016 | } | |
1017 | ||
1018 | private void switchMenuItems() { | |
1019 | | |
1020 | Stream.of( | |
1021 | this.itemArabic, | |
1022 | this.itemIntoArabic | |
1023 | ) | |
1024 |
2
1. lambda$switchMenuItems$35 : removed call to javax/swing/JMenuItem::setComponentOrientation → NO_COVERAGE 2. switchMenuItems : removed call to java/util/stream/Stream::forEach → NO_COVERAGE |
.forEach(menuItem -> menuItem.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT)); |
1025 | | |
1026 | Stream.of( | |
1027 | this.itemEnglish, | |
1028 | this.itemChinese, | |
1029 | this.itemRussian, | |
1030 | this.itemFrench, | |
1031 | this.itemCzech, | |
1032 | this.itemDutch, | |
1033 | this.itemGerman, | |
1034 | this.itemRomanian, | |
1035 | this.itemSwedish, | |
1036 | this.itemFinnish, | |
1037 | this.itemKorean, | |
1038 | this.itemTurkish, | |
1039 | this.itemIndonesian, | |
1040 | this.itemItalian, | |
1041 | this.itemSpanish, | |
1042 | this.itemPortuguese, | |
1043 | this.itemPolish, | |
1044 | | |
1045 | this.itemIntoHindi, | |
1046 | this.itemIntoRussia, | |
1047 | this.itemIntoChina, | |
1048 | this.itemIntoFrench, | |
1049 | this.itemIntoTurkish, | |
1050 | this.itemIntoCzech, | |
1051 | this.itemIntoGerman, | |
1052 | this.itemIntoRomanian, | |
1053 | this.itemIntoDutch, | |
1054 | this.itemIntoIndonesian, | |
1055 | this.itemIntoItalian, | |
1056 | this.itemIntoSpanish, | |
1057 | this.itemIntoPortuguese, | |
1058 | this.itemIntoPolish, | |
1059 | this.itemIntoKorean, | |
1060 | this.itemIntoJapanese, | |
1061 | this.itemIntoTamil, | |
1062 | this.itemIntoSwedish, | |
1063 | this.itemIntoFinnish | |
1064 | ) | |
1065 |
2
1. switchMenuItems : removed call to java/util/stream/Stream::forEach → NO_COVERAGE 2. lambda$switchMenuItems$36 : removed call to javax/swing/JMenuItem::setComponentOrientation → NO_COVERAGE |
.forEach(menuItem -> menuItem.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT)); |
1066 | } | |
1067 | ||
1068 | private void switchNetworkTable(Locale newLocale) { | |
1069 | | |
1070 | JTableHeader header = MediatorHelper.panelConsoles().getNetworkTable().getTableHeader(); | |
1071 | TableColumnModel columnModel = header.getColumnModel(); | |
1072 | | |
1073 |
1
1. switchNetworkTable : negated conditional → NO_COVERAGE |
if (I18nUtil.isAsian(newLocale)) { |
1074 | | |
1075 | Stream.of( | |
1076 | JTextPaneAppender.ATTRIBUTE_WARN, | |
1077 | JTextPaneAppender.ATTRIBUTE_INFORM, | |
1078 | JTextPaneAppender.ATTRIBUTE_SUCCESS, | |
1079 | JTextPaneAppender.ATTRIBUTE_ALL | |
1080 | ) | |
1081 |
1
1. switchNetworkTable : removed call to java/util/stream/Stream::forEach → NO_COVERAGE |
.forEach(attribute -> { |
1082 |
1
1. lambda$switchNetworkTable$37 : removed call to javax/swing/text/StyleConstants::setFontFamily → NO_COVERAGE |
StyleConstants.setFontFamily(attribute, UiUtil.FONT_NAME_MONO_ASIAN); |
1083 |
1
1. lambda$switchNetworkTable$37 : removed call to javax/swing/text/StyleConstants::setFontSize → NO_COVERAGE |
StyleConstants.setFontSize(attribute, UiUtil.FONT_SIZE_MONO_ASIAN); |
1084 | }); | |
1085 | | |
1086 |
1
1. switchNetworkTable : removed call to javax/swing/JTextPane::setFont → NO_COVERAGE |
MediatorHelper.managerBruteForce().getResult().setFont(UiUtil.FONT_MONO_ASIAN); |
1087 | | |
1088 |
1
1. switchNetworkTable : removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE |
columnModel.getColumn(0).setHeaderValue(I18nViewUtil.valueByKey("NETWORK_TAB_URL_COLUMN")); |
1089 |
1
1. switchNetworkTable : removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE |
columnModel.getColumn(1).setHeaderValue(I18nViewUtil.valueByKey("NETWORK_TAB_SIZE_COLUMN") +" (KB)"); |
1090 |
1
1. switchNetworkTable : removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE |
columnModel.getColumn(2).setHeaderValue("Strategy"); |
1091 | | |
1092 | } else { | |
1093 | | |
1094 | Stream.of( | |
1095 | JTextPaneAppender.ATTRIBUTE_WARN, | |
1096 | JTextPaneAppender.ATTRIBUTE_INFORM, | |
1097 | JTextPaneAppender.ATTRIBUTE_SUCCESS, | |
1098 | JTextPaneAppender.ATTRIBUTE_ALL | |
1099 | ) | |
1100 |
1
1. switchNetworkTable : removed call to java/util/stream/Stream::forEach → NO_COVERAGE |
.forEach(attribute -> { |
1101 |
1
1. lambda$switchNetworkTable$38 : removed call to javax/swing/text/StyleConstants::setFontFamily → NO_COVERAGE |
StyleConstants.setFontFamily(attribute, UiUtil.FONT_NAME_MONO_NON_ASIAN); |
1102 |
1
1. lambda$switchNetworkTable$38 : removed call to javax/swing/text/StyleConstants::setFontSize → NO_COVERAGE |
StyleConstants.setFontSize(attribute, UiUtil.FONT_SIZE_MONO_NON_ASIAN); |
1103 | }); | |
1104 | | |
1105 |
1
1. switchNetworkTable : removed call to javax/swing/JTextPane::setFont → NO_COVERAGE |
MediatorHelper.managerBruteForce().getResult().setFont(UiUtil.FONT_MONO_NON_ASIAN); |
1106 | | |
1107 |
1
1. switchNetworkTable : removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE |
columnModel.getColumn(0).setHeaderValue(I18nUtil.valueByKey("NETWORK_TAB_URL_COLUMN")); |
1108 |
1
1. switchNetworkTable : removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE |
columnModel.getColumn(1).setHeaderValue(I18nUtil.valueByKey("NETWORK_TAB_SIZE_COLUMN") +" (KB)"); |
1109 |
1
1. switchNetworkTable : removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE |
columnModel.getColumn(2).setHeaderValue("Strategy"); |
1110 | } | |
1111 | | |
1112 |
1
1. switchNetworkTable : removed call to javax/swing/table/JTableHeader::repaint → NO_COVERAGE |
header.repaint(); |
1113 | } | |
1114 | | |
1115 | | |
1116 | // Getter and setter | |
1117 | ||
1118 | public JCheckBoxMenuItem getChunkMenu() { | |
1119 |
1
1. getChunkMenu : replaced return value with null for com/jsql/view/swing/menubar/Menubar::getChunkMenu → NO_COVERAGE |
return this.chunkMenu; |
1120 | } | |
1121 | ||
1122 | public JCheckBoxMenuItem getJavaDebugMenu() { | |
1123 |
1
1. getJavaDebugMenu : replaced return value with null for com/jsql/view/swing/menubar/Menubar::getJavaDebugMenu → NO_COVERAGE |
return this.javaDebugMenu; |
1124 | } | |
1125 | ||
1126 | public JMenu getMenuView() { | |
1127 |
1
1. getMenuView : replaced return value with null for com/jsql/view/swing/menubar/Menubar::getMenuView → NO_COVERAGE |
return this.menuView; |
1128 | } | |
1129 | } | |
Mutations | ||
141 |
1.1 |
|
142 |
1.1 |
|
143 |
1.1 |
|
146 |
1.1 |
|
164 |
1.1 |
|
165 |
1.1 |
|
168 |
1.1 |
|
172 |
1.1 |
|
176 |
1.1 |
|
180 |
1.1 |
|
184 |
1.1 |
|
188 |
1.1 |
|
192 |
1.1 |
|
196 |
1.1 |
|
200 |
1.1 |
|
207 |
1.1 |
|
208 |
1.1 |
|
215 |
1.1 |
|
223 |
1.1 |
|
231 |
1.1 |
|
239 |
1.1 |
|
242 |
1.1 |
|
246 |
1.1 |
|
252 |
1.1 |
|
253 |
1.1 |
|
254 |
1.1 |
|
256 |
1.1 |
|
260 |
1.1 |
|
261 |
1.1 |
|
262 |
1.1 |
|
264 |
1.1 |
|
268 |
1.1 |
|
269 |
1.1 |
|
270 |
1.1 |
|
272 |
1.1 |
|
276 |
1.1 |
|
277 |
1.1 |
|
278 |
1.1 |
|
280 |
1.1 |
|
289 |
1.1 |
|
290 |
1.1 |
|
291 |
1.1 |
|
292 |
1.1 |
|
293 |
1.1 |
|
294 |
1.1 |
|
295 |
1.1 |
|
296 |
1.1 |
|
297 |
1.1 |
|
299 |
1.1 2.2 |
|
303 |
1.1 2.2 |
|
307 |
1.1 |
|
309 |
1.1 |
|
314 |
1.1 |
|
321 |
1.1 |
|
322 |
1.1 |
|
323 |
1.1 |
|
326 |
1.1 |
|
327 |
1.1 |
|
330 |
1.1 |
|
334 |
1.1 |
|
337 |
1.1 |
|
339 |
1.1 |
|
341 |
1.1 |
|
342 |
1.1 |
|
345 |
1.1 |
|
347 |
1.1 |
|
353 |
1.1 |
|
359 |
1.1 |
|
364 |
1.1 |
|
366 |
1.1 2.2 |
|
367 |
1.1 |
|
369 |
1.1 |
|
374 |
1.1 |
|
378 |
1.1 |
|
381 |
1.1 |
|
385 |
1.1 |
|
388 |
1.1 |
|
391 |
1.1 |
|
397 |
1.1 |
|
405 |
1.1 |
|
407 |
1.1 2.2 |
|
408 |
1.1 |
|
410 |
1.1 |
|
415 |
1.1 |
|
420 |
1.1 |
|
423 |
1.1 |
|
424 |
1.1 |
|
429 |
1.1 |
|
431 |
1.1 |
|
434 |
1.1 |
|
438 |
1.1 |
|
441 |
1.1 |
|
444 |
1.1 |
|
451 |
1.1 |
|
452 |
1.1 |
|
453 |
1.1 |
|
456 |
1.1 |
|
459 |
1.1 |
|
465 |
1.1 |
|
473 |
1.1 |
|
474 |
1.1 |
|
477 |
1.1 |
|
480 |
1.1 |
|
487 |
1.1 2.2 |
|
488 |
1.1 |
|
500 |
1.1 2.2 |
|
501 |
1.1 |
|
508 |
1.1 2.2 |
|
509 |
1.1 |
|
516 |
1.1 2.2 |
|
523 |
1.1 2.2 |
|
530 |
1.1 2.2 |
|
537 |
1.1 2.2 |
|
544 |
1.1 2.2 |
|
551 |
1.1 2.2 |
|
558 |
1.1 2.2 |
|
565 |
1.1 2.2 |
|
572 |
1.1 2.2 |
|
583 |
1.1 2.2 |
|
590 |
1.1 2.2 |
|
597 |
1.1 2.2 |
|
604 |
1.1 2.2 |
|
611 |
1.1 2.2 |
|
622 |
1.1 2.2 |
|
646 |
1.1 |
|
649 |
1.1 |
|
652 |
1.1 |
|
658 |
1.1 |
|
674 |
1.1 |
|
677 |
1.1 |
|
679 |
1.1 |
|
680 |
1.1 |
|
681 |
1.1 |
|
684 |
1.1 |
|
746 |
1.1 |
|
748 |
1.1 |
|
750 |
1.1 |
|
776 |
1.1 |
|
801 |
1.1 2.2 |
|
805 |
1.1 |
|
811 |
1.1 |
|
813 |
1.1 |
|
817 |
1.1 |
|
822 |
1.1 |
|
831 |
1.1 |
|
834 |
1.1 |
|
835 |
1.1 |
|
837 |
1.1 |
|
842 |
1.1 |
|
861 |
1.1 2.2 |
|
862 |
1.1 |
|
866 |
1.1 |
|
873 |
1.1 |
|
874 |
1.1 |
|
877 |
1.1 |
|
878 |
1.1 |
|
879 |
1.1 |
|
880 |
1.1 |
|
881 |
1.1 |
|
882 |
1.1 |
|
883 |
1.1 |
|
888 |
1.1 |
|
889 |
1.1 |
|
890 |
1.1 |
|
892 |
1.1 |
|
893 |
1.1 |
|
894 |
1.1 |
|
898 |
1.1 |
|
906 |
1.1 |
|
913 |
1.1 |
|
914 |
1.1 |
|
917 |
1.1 |
|
920 |
1.1 |
|
921 |
1.1 2.2 |
|
923 |
1.1 |
|
929 |
1.1 |
|
934 |
1.1 |
|
939 |
1.1 |
|
940 |
1.1 |
|
941 |
1.1 |
|
942 |
1.1 |
|
943 |
1.1 |
|
945 |
1.1 |
|
949 |
1.1 |
|
958 |
1.1 |
|
960 |
1.1 |
|
968 |
1.1 |
|
969 |
1.1 |
|
971 |
1.1 |
|
972 |
1.1 |
|
974 |
1.1 |
|
975 |
1.1 |
|
979 |
1.1 |
|
981 |
1.1 |
|
986 |
1.1 |
|
996 |
1.1 |
|
998 |
1.1 |
|
999 |
1.1 |
|
1000 |
1.1 |
|
1001 |
1.1 |
|
1002 |
1.1 |
|
1003 |
1.1 |
|
1004 |
1.1 |
|
1005 |
1.1 |
|
1006 |
1.1 |
|
1007 |
1.1 |
|
1008 |
1.1 |
|
1009 |
1.1 |
|
1010 |
1.1 |
|
1012 |
1.1 |
|
1024 |
1.1 2.2 |
|
1065 |
1.1 2.2 |
|
1073 |
1.1 |
|
1081 |
1.1 |
|
1082 |
1.1 |
|
1083 |
1.1 |
|
1086 |
1.1 |
|
1088 |
1.1 |
|
1089 |
1.1 |
|
1090 |
1.1 |
|
1100 |
1.1 |
|
1101 |
1.1 |
|
1102 |
1.1 |
|
1105 |
1.1 |
|
1107 |
1.1 |
|
1108 |
1.1 |
|
1109 |
1.1 |
|
1112 |
1.1 |
|
1119 |
1.1 |
|
1123 |
1.1 |
|
1127 |
1.1 |