home *** CD-ROM | disk | FTP | other *** search
- package symantec.descfileconverter;
-
- import java.awt.Button;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dialog;
- import java.awt.Event;
- import java.awt.Frame;
- import java.awt.LayoutManager;
- import java.awt.Rectangle;
- import java.io.File;
- import java.io.FilenameFilter;
- import symantec.itools.awt.TreeView;
-
- public class BrowseDialog extends Dialog implements Runnable {
- TreeView dirView;
- Button selectButton;
- Button cancelButton;
- private FilenameFilter dirFilter;
- private String[] directories;
- private Object whoInvokedMe;
- private Thread dlgThread;
-
- void cancelButton_Clicked(Event var1) {
- ((Component)this).hide();
- ((Component)this).getParent().requestFocus();
- }
-
- void selectButton_Clicked(Event var1) {
- if (this.whoInvokedMe == ((MainFrame)((Component)this).getParent()).descDirButton) {
- ((MainFrame)((Component)this).getParent()).descDir.setText(((MyTreeNode)this.dirView.getSelectedNode()).getFullPath());
- ((MainFrame)((Component)this).getParent()).listSelectedDir(((MyTreeNode)this.dirView.getSelectedNode()).getFullPath());
- ((MainFrame)((Component)this).getParent()).selectAll_Checked(var1);
- }
-
- if (this.whoInvokedMe == ((MainFrame)((Component)this).getParent()).iconDirButton) {
- ((MainFrame)((Component)this).getParent()).iconDir.setText(((MyTreeNode)this.dirView.getSelectedNode()).getFullPath());
- }
-
- if (this.whoInvokedMe == ((MainFrame)((Component)this).getParent()).beaninfoDirButton) {
- ((MainFrame)((Component)this).getParent()).beaninfoDir.setText(((MyTreeNode)this.dirView.getSelectedNode()).getFullPath());
- }
-
- ((Component)this).hide();
- }
-
- void dirView_Clicked(Event var1) {
- if (!this.dirView.getSelectedNode().isExpandable()) {
- this.recurse((MyTreeNode)this.dirView.getSelectedNode());
- }
-
- }
-
- public BrowseDialog(Frame var1, boolean var2) {
- super(var1, var2);
- ((Container)this).setLayout((LayoutManager)null);
- ((Dialog)this).addNotify();
- ((Component)this).resize(((Container)this).insets().left + ((Container)this).insets().right + 320, ((Container)this).insets().top + ((Container)this).insets().bottom + 240);
- this.dirView = new TreeView();
- this.dirView.reshape(((Container)this).insets().left + 12, ((Container)this).insets().top + 12, 220, 220);
- ((Container)this).add(this.dirView);
- this.selectButton = new Button("OK");
- this.selectButton.reshape(((Container)this).insets().left + 240, ((Container)this).insets().top + 144, 72, 25);
- ((Container)this).add(this.selectButton);
- this.cancelButton = new Button("Cancel");
- this.cancelButton.reshape(((Container)this).insets().left + 240, ((Container)this).insets().top + 180, 72, 25);
- ((Container)this).add(this.cancelButton);
- ((Dialog)this).setTitle("Browse Directories");
- ((Dialog)this).setResizable(false);
- this.dirFilter = new DirFilter();
- if (this.dlgThread == null) {
- this.dlgThread = new Thread(this);
- this.dlgThread.start();
- }
-
- }
-
- public BrowseDialog(Frame var1, String var2, boolean var3) {
- this(var1, var3);
- ((Dialog)this).setTitle(var2);
- }
-
- public synchronized void show() {
- Rectangle var1 = ((Component)this).getParent().bounds();
- Rectangle var2 = ((Component)this).bounds();
- ((Component)this).move(var1.x + (var1.width - var2.width) / 2, var1.y + (var1.height - var2.height) / 2);
- this.dirView.getRootNode().expand();
- super.show();
- }
-
- public boolean handleEvent(Event var1) {
- if (var1.id == 201) {
- ((Component)this).hide();
- return true;
- } else if (var1.target == this.cancelButton && var1.id == 1001) {
- this.cancelButton_Clicked(var1);
- return true;
- } else if (var1.target == this.selectButton && var1.id == 1001) {
- this.selectButton_Clicked(var1);
- return true;
- } else if (var1.target == this.dirView && var1.id == 1006) {
- this.dirView_Clicked(var1);
- return true;
- } else {
- return super.handleEvent(var1);
- }
- }
-
- public void run() {
- this.fillDirView((Frame)((Component)this).getParent());
- }
-
- void whoIsShowingMe(Object var1) {
- this.whoInvokedMe = var1;
- }
-
- private void fillDirView(Frame var1) {
- if (System.getProperty("os.name").startsWith("Windows")) {
- for(short var6 = 0; var6 < 24; ++var6) {
- Character var4 = new Character((char)(67 + var6));
- String var5 = var4.toString() + ":";
- File var8 = new File(var5 + "\\");
- if (var8.exists()) {
- MyTreeNode var7 = new MyTreeNode(var5, var5);
- this.dirView.append(var7);
- }
- }
-
- this.recurse((MyTreeNode)this.dirView.getRootNode());
- } else {
- File var3 = new File(((MainFrame)var1).descDir.getText());
-
- do {
- var3 = new File(var3.getParent());
- } while(var3.getParent() != null);
-
- MyTreeNode var2 = new MyTreeNode(var3.getName(), var3.getPath());
- this.dirView.append(var2);
- this.recurse(var2);
- }
- }
-
- private void recurse(MyTreeNode var1) {
- String[] var2 = (new File(var1.getFullPath())).list(this.dirFilter);
- var2 = this.sort(var2);
- if (var2.length > 0) {
- for(int var5 = 0; var5 < var2.length; ++var5) {
- File var3 = new File(var1.getFullPath(), var2[var5]);
- MyTreeNode var4 = new MyTreeNode(var2[var5], var3.getPath());
- this.dirView.insert(var4, var1, 0);
- }
- }
-
- }
-
- private String[] sort(String[] var1) {
- for(int var3 = 0; var3 < var1.length; ++var3) {
- for(int var4 = var3 + 1; var4 < var1.length; ++var4) {
- int var2 = var1[var3].toLowerCase().compareTo(var1[var4].toLowerCase());
- if (var2 > 0) {
- String var5 = new String(var1[var3]);
- var1[var3] = new String(var1[var4]);
- var1[var4] = var5;
- }
- }
- }
-
- return var1;
- }
- }
-