Lines 53-59
Link Here
|
53 |
import java.awt.Rectangle; |
53 |
import java.awt.Rectangle; |
54 |
import java.io.IOException; |
54 |
import java.io.IOException; |
55 |
import java.net.ConnectException; |
55 |
import java.net.ConnectException; |
56 |
import javax.swing.plaf.ButtonUI; |
56 |
import org.netbeans.modules.cnd.api.toolchain.CompilerFlavor; |
57 |
import org.netbeans.modules.cnd.api.toolchain.ui.ToolsPanelModel; |
57 |
import org.netbeans.modules.cnd.api.toolchain.ui.ToolsPanelModel; |
58 |
import java.awt.Color; |
58 |
import java.awt.Color; |
59 |
import java.awt.Font; |
59 |
import java.awt.Font; |
Lines 85-90
Link Here
|
85 |
import org.netbeans.modules.cnd.toolchain.compilerset.APIAccessor; |
85 |
import org.netbeans.modules.cnd.toolchain.compilerset.APIAccessor; |
86 |
import org.netbeans.modules.cnd.toolchain.compilerset.ToolUtils; |
86 |
import org.netbeans.modules.cnd.toolchain.compilerset.ToolUtils; |
87 |
import org.netbeans.modules.cnd.api.toolchain.ui.ToolsPanelSupport; |
87 |
import org.netbeans.modules.cnd.api.toolchain.ui.ToolsPanelSupport; |
|
|
88 |
import org.netbeans.modules.cnd.toolchain.compilerset.CompilerSetImpl; |
89 |
import org.netbeans.modules.cnd.utils.CndPathUtilitities; |
88 |
import org.netbeans.modules.nativeexecution.api.util.HostInfoUtils; |
90 |
import org.netbeans.modules.nativeexecution.api.util.HostInfoUtils; |
89 |
import org.netbeans.modules.nativeexecution.api.util.Path; |
91 |
import org.netbeans.modules.nativeexecution.api.util.Path; |
90 |
import org.netbeans.modules.remote.api.ui.FileChooserBuilder; |
92 |
import org.netbeans.modules.remote.api.ui.FileChooserBuilder; |
Lines 111-116
Link Here
|
111 |
private Color tfColor = null; |
113 |
private Color tfColor = null; |
112 |
private boolean isUrl = false; |
114 |
private boolean isUrl = false; |
113 |
private Map<ToolKind,Boolean> lastValid = new ConcurrentHashMap<ToolKind, Boolean>(); |
115 |
private Map<ToolKind,Boolean> lastValid = new ConcurrentHashMap<ToolKind, Boolean>(); |
|
|
116 |
private CompilerSet currentCompilerSet; |
114 |
|
117 |
|
115 |
private RequestProcessor RP = new RequestProcessor("ToolCollectionPanel: check remote file", 1); // NOI18N |
118 |
private RequestProcessor RP = new RequestProcessor("ToolCollectionPanel: check remote file", 1); // NOI18N |
116 |
|
119 |
|
Lines 310-315
Link Here
|
310 |
} |
313 |
} |
311 |
|
314 |
|
312 |
void changeCompilerSet(CompilerSet cs) { |
315 |
void changeCompilerSet(CompilerSet cs) { |
|
|
316 |
currentCompilerSet = cs; |
313 |
Tool cSelection = null; |
317 |
Tool cSelection = null; |
314 |
Tool cppSelection = null; |
318 |
Tool cppSelection = null; |
315 |
Tool fortranSelection = null; |
319 |
Tool fortranSelection = null; |
Lines 614-620
Link Here
|
614 |
} |
618 |
} |
615 |
} |
619 |
} |
616 |
|
620 |
|
617 |
private boolean selectTool(JTextField tf, boolean checkBaseFolder) { |
621 |
private boolean selectTool(JTextField tf, boolean checkBaseFolder, ToolKind kind) { |
618 |
String seed = tf.getText(); |
622 |
String seed = tf.getText(); |
619 |
if (seed.length() > 0 && ! seed.endsWith("/")) { //NOI18N |
623 |
if (seed.length() > 0 && ! seed.endsWith("/")) { //NOI18N |
620 |
int pos = seed.lastIndexOf('/'); //NOI18N |
624 |
int pos = seed.lastIndexOf('/'); //NOI18N |
Lines 624-636
Link Here
|
624 |
} |
628 |
} |
625 |
JFileChooser fileChooser = new FileChooserBuilder(manager.getExecutionEnvironment()).createFileChooser(seed); |
629 |
JFileChooser fileChooser = new FileChooserBuilder(manager.getExecutionEnvironment()).createFileChooser(seed); |
626 |
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); |
630 |
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); |
627 |
fileChooser.setDialogTitle(ToolsPanel.getString("SELECT_TOOL_TITLE")); |
631 |
fileChooser.setDialogTitle(ToolsPanel.getString("SELECT_TOOL_TITLE", kind.getDisplayName())); |
|
|
632 |
final ToolFamilyPanel toolFamilyPanel = new ToolFamilyPanel(fileChooser, kind, currentCompilerSet, manager.getCompilerSetManager()); |
633 |
fileChooser.setAccessory(toolFamilyPanel); |
628 |
//fileChooser.setApproveButtonMnemonic(KeyEvent.VK_ENTER); |
634 |
//fileChooser.setApproveButtonMnemonic(KeyEvent.VK_ENTER); |
629 |
int ret = fileChooser.showOpenDialog(this); |
635 |
int ret = fileChooser.showOpenDialog(this); |
630 |
if (ret == JFileChooser.CANCEL_OPTION) { |
636 |
if (ret == JFileChooser.CANCEL_OPTION) { |
631 |
return false; |
637 |
return false; |
632 |
} |
638 |
} |
633 |
if (checkBaseFolder) { |
639 |
final CompilerFlavor selectedCompilerFlavor = toolFamilyPanel.getSelectedCompilerFlavor(); |
|
|
640 |
//System.out.println("Selected flavor="+selectedCompilerFlavor); |
641 |
if (false && checkBaseFolder) { |
634 |
boolean exists = false; |
642 |
boolean exists = false; |
635 |
try { |
643 |
try { |
636 |
exists = HostInfoUtils.fileExists(manager.getExecutionEnvironment(), tfBaseDirectory.getText() + "/" + fileChooser.getSelectedFile().getName()); // NOI18N |
644 |
exists = HostInfoUtils.fileExists(manager.getExecutionEnvironment(), tfBaseDirectory.getText() + "/" + fileChooser.getSelectedFile().getName()); // NOI18N |
Lines 639-646
Link Here
|
639 |
} catch (InterruptedException ex) { |
647 |
} catch (InterruptedException ex) { |
640 |
} |
648 |
} |
641 |
if (!exists) { |
649 |
if (!exists) { |
642 |
NotifyDescriptor nb = new NotifyDescriptor.Message(ToolsPanel.getString("COMPILER_BASE_ERROR"), NotifyDescriptor.ERROR_MESSAGE); // NOI18N |
650 |
SwingUtilities.invokeLater(new Runnable() { |
643 |
DialogDisplayer.getDefault().notify(nb); |
651 |
|
|
|
652 |
@Override |
653 |
public void run() { |
654 |
NotifyDescriptor nb = new NotifyDescriptor.Message(ToolsPanel.getString("COMPILER_BASE_ERROR"), NotifyDescriptor.ERROR_MESSAGE); // NOI18N |
655 |
DialogDisplayer.getDefault().notify(nb); |
656 |
} |
657 |
}); |
644 |
return false; |
658 |
return false; |
645 |
} |
659 |
} |
646 |
} |
660 |
} |
Lines 650-655
Link Here
|
650 |
aPath = aPath.substring(0, aPath.length() - 4); |
664 |
aPath = aPath.substring(0, aPath.length() - 4); |
651 |
} |
665 |
} |
652 |
} |
666 |
} |
|
|
667 |
Tool findTool = currentCompilerSet.findTool(kind); |
668 |
if (findTool == null) { |
669 |
if (currentCompilerSet instanceof CompilerSetImpl) { |
670 |
String name = CndPathUtilitities.getBaseName(aPath); |
671 |
findTool = ((CompilerSetImpl)currentCompilerSet).addTool(manager.getExecutionEnvironment(), name, aPath, kind, toolFamilyPanel.getSelectedCompilerFlavor()); |
672 |
} |
673 |
} else { |
674 |
APIAccessor.get().setToolFlavor(findTool, selectedCompilerFlavor); |
675 |
} |
653 |
tf.setText(aPath); // compiler set is updated by textfield's listener |
676 |
tf.setText(aPath); // compiler set is updated by textfield's listener |
654 |
return true; |
677 |
return true; |
655 |
} |
678 |
} |
Lines 1309-1343
Link Here
|
1309 |
}// </editor-fold>//GEN-END:initComponents |
1332 |
}// </editor-fold>//GEN-END:initComponents |
1310 |
|
1333 |
|
1311 |
private void btMakeBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btMakeBrowseActionPerformed |
1334 |
private void btMakeBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btMakeBrowseActionPerformed |
1312 |
selectTool(tfMakePath, false); |
1335 |
selectTool(tfMakePath, false, PredefinedToolKind.MakeTool); |
1313 |
}//GEN-LAST:event_btMakeBrowseActionPerformed |
1336 |
}//GEN-LAST:event_btMakeBrowseActionPerformed |
1314 |
|
1337 |
|
1315 |
private void btDebuggerBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btDebuggerBrowseActionPerformed |
1338 |
private void btDebuggerBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btDebuggerBrowseActionPerformed |
1316 |
selectTool(tfDebuggerPath, false); |
1339 |
selectTool(tfDebuggerPath, false, PredefinedToolKind.DebuggerTool); |
1317 |
}//GEN-LAST:event_btDebuggerBrowseActionPerformed |
1340 |
}//GEN-LAST:event_btDebuggerBrowseActionPerformed |
1318 |
|
1341 |
|
1319 |
private void btCBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btCBrowseActionPerformed |
1342 |
private void btCBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btCBrowseActionPerformed |
1320 |
selectTool(tfCPath, true); |
1343 |
selectTool(tfCPath, true, PredefinedToolKind.CCompiler); |
1321 |
}//GEN-LAST:event_btCBrowseActionPerformed |
1344 |
}//GEN-LAST:event_btCBrowseActionPerformed |
1322 |
|
1345 |
|
1323 |
private void btCppBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btCppBrowseActionPerformed |
1346 |
private void btCppBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btCppBrowseActionPerformed |
1324 |
selectTool(tfCppPath, true); |
1347 |
selectTool(tfCppPath, true, PredefinedToolKind.CCCompiler); |
1325 |
}//GEN-LAST:event_btCppBrowseActionPerformed |
1348 |
}//GEN-LAST:event_btCppBrowseActionPerformed |
1326 |
|
1349 |
|
1327 |
private void btFortranBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btFortranBrowseActionPerformed |
1350 |
private void btFortranBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btFortranBrowseActionPerformed |
1328 |
selectTool(tfFortranPath, true); |
1351 |
selectTool(tfFortranPath, true, PredefinedToolKind.FortranCompiler); |
1329 |
}//GEN-LAST:event_btFortranBrowseActionPerformed |
1352 |
}//GEN-LAST:event_btFortranBrowseActionPerformed |
1330 |
|
1353 |
|
1331 |
private void btAsBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btAsBrowseActionPerformed |
1354 |
private void btAsBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btAsBrowseActionPerformed |
1332 |
selectTool(tfAsPath, true); |
1355 |
selectTool(tfAsPath, true, PredefinedToolKind.Assembler); |
1333 |
}//GEN-LAST:event_btAsBrowseActionPerformed |
1356 |
}//GEN-LAST:event_btAsBrowseActionPerformed |
1334 |
|
1357 |
|
1335 |
private void btQMakeBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btQMakeBrowseActionPerformed |
1358 |
private void btQMakeBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btQMakeBrowseActionPerformed |
1336 |
selectTool(tfQMakePath, false); |
1359 |
selectTool(tfQMakePath, false, PredefinedToolKind.QMakeTool); |
1337 |
}//GEN-LAST:event_btQMakeBrowseActionPerformed |
1360 |
}//GEN-LAST:event_btQMakeBrowseActionPerformed |
1338 |
|
1361 |
|
1339 |
private void btCMakeBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btCMakeBrowseActionPerformed |
1362 |
private void btCMakeBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btCMakeBrowseActionPerformed |
1340 |
selectTool(tfCMakePath, false); |
1363 |
selectTool(tfCMakePath, false, PredefinedToolKind.CMakeTool); |
1341 |
}//GEN-LAST:event_btCMakeBrowseActionPerformed |
1364 |
}//GEN-LAST:event_btCMakeBrowseActionPerformed |
1342 |
|
1365 |
|
1343 |
private void btInstallActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btInstallActionPerformed |
1366 |
private void btInstallActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btInstallActionPerformed |