Package org.apache.pivot.wtk

Examples of org.apache.pivot.wtk.FileBrowserSheet


        fileBrowser.setDisabledFileFilter(disabledFileFilter);
    }

    private void updateOKButtonState() {
        FileBrowserSheet fileBrowserSheet = (FileBrowserSheet)getComponent();

        FileBrowserSheet.Mode mode = fileBrowserSheet.getMode();
        Sequence<File> selectedFiles = fileBrowser.getSelectedFiles();

        switch (mode) {
            case OPEN:
            case OPEN_MULTIPLE: {
View Full Code Here


    @Override
    public void install(Component component) {
        super.install(component);

        final FileBrowserSheet fileBrowserSheet = (FileBrowserSheet)component;
        fileBrowserSheet.setMinimumPreferredWidth(360);
        fileBrowserSheet.setMinimumPreferredHeight(180);

        // Load the sheet content
        Resources resources;
        try {
            resources = new Resources(getClass().getName());
        } catch (IOException exception) {
            throw new RuntimeException(exception);
        } catch (SerializationException exception) {
            throw new RuntimeException(exception);
        }

        WTKXSerializer wtkxSerializer = new WTKXSerializer(resources);

        Component content;
        try {
            content = (Component)wtkxSerializer.readObject(this, "terra_file_browser_sheet_skin.wtkx");
        } catch (IOException exception) {
            throw new RuntimeException(exception);
        } catch (SerializationException exception) {
            throw new RuntimeException(exception);
        }

        fileBrowserSheet.setContent(content);

        wtkxSerializer.bind(this, TerraFileBrowserSheetSkin.class);

        saveAsTextInput.getTextInputTextListeners().add(new TextInputTextListener() {
            @Override
            public void textChanged(TextInput textInput) {
                updateOKButtonState();
            }
        });

        fileBrowser.getFileBrowserListeners().add(new FileBrowserListener.Adapter() {
            @Override
            public void rootDirectoryChanged(FileBrowser fileBrowser,
                File previousRootDirectory) {
                updatingSelection = true;

                fileBrowserSheet.setRootDirectory(fileBrowser.getRootDirectory());

                updatingSelection = false;

                selectedDirectoryCount = 0;
                updateOKButtonState();
            }

            @Override
            public void selectedFileAdded(FileBrowser fileBrowser, File file) {
                if (file.isDirectory()) {
                    selectedDirectoryCount++;
                }

                updateOKButtonState();
            }

            @Override
            public void selectedFileRemoved(FileBrowser fileBrowser, File file) {
                if (file.isDirectory()) {
                    selectedDirectoryCount--;
                }

                updateOKButtonState();
            }

            @Override
            public void selectedFilesChanged(FileBrowser fileBrowser,
                Sequence<File> previousSelectedFiles) {
                selectedDirectoryCount = 0;

                Sequence<File> selectedFiles = fileBrowser.getSelectedFiles();
                for (int i = 0, n = selectedFiles.getLength(); i < n; i++) {
                    File selectedFile = selectedFiles.get(i);

                    if (selectedFile.isDirectory()) {
                        selectedDirectoryCount++;
                    }
                }

                if (!fileBrowser.isMultiSelect()) {
                    File selectedFile = fileBrowser.getSelectedFile();

                    if (selectedFile != null
                        && !selectedFile.isDirectory()) {
                        saveAsTextInput.setText(selectedFile.getName());
                    }
                }

                updateOKButtonState();
            }
        });

        fileBrowser.getComponentMouseButtonListeners().add(new ComponentMouseButtonListener.Adapter() {
            private File file = null;

            @Override
            public boolean mouseClick(Component component, Mouse.Button button, int x, int y, int count) {
                boolean consumed = super.mouseClick(component, button, x, y, count);

                FileBrowserSheet.Mode mode = fileBrowserSheet.getMode();

                if (count == 1) {
                    file = fileBrowser.getFileAt(x, y);
                } else if (count == 2) {
                    File file = fileBrowser.getFileAt(x, y);

                    if (file != null
                        && this.file != null
                        && file.equals(this.file)
                        && fileBrowser.isFileSelected(file)) {
                        if (mode == FileBrowserSheet.Mode.OPEN
                            || mode == FileBrowserSheet.Mode.OPEN_MULTIPLE) {
                            if (!file.isDirectory()) {
                                fileBrowserSheet.close(true);
                                consumed = true;
                            }
                        }
                    }
                }

                return consumed;
            }
        });

        okButton.getButtonPressListeners().add(new ButtonPressListener() {
            @Override
            public void buttonPressed(Button button) {
                fileBrowserSheet.close(true);
            }
        });

        cancelButton.getButtonPressListeners().add(new ButtonPressListener() {
            @Override
            public void buttonPressed(Button button) {
                fileBrowserSheet.close(false);
            }
        });

        // Add this as a file browser sheet listener
        fileBrowserSheet.getFileBrowserSheetListeners().add(this);

        modeChanged(fileBrowserSheet, null);
        rootDirectoryChanged(fileBrowserSheet, null);
        selectedFilesChanged(fileBrowserSheet, null);
    }
View Full Code Here

        }

        if (vote == Vote.APPROVE) {
            updatingSelection = true;

            FileBrowserSheet fileBrowserSheet = (FileBrowserSheet)sheet;
            FileBrowserSheet.Mode mode = fileBrowserSheet.getMode();

            switch (mode) {
                case OPEN:
                case OPEN_MULTIPLE:
                case SAVE_TO: {
                    fileBrowserSheet.setSelectedFiles(fileBrowser.getSelectedFiles());
                    break;
                }

                case SAVE_AS: {
                    String fileName = saveAsTextInput.getText();
                    File selectedFile = new File(fileBrowser.getRootDirectory(), fileName);
                    fileBrowserSheet.setSelectedFiles(new ArrayList<File>(selectedFile));
                    break;
                }
            }

            updatingSelection = false;
View Full Code Here

        Filter<File> previousDisabledFileFilter) {
        updateDisabledFileFilter();
    }

    private void updateDisabledFileFilter() {
        FileBrowserSheet fileBrowserSheet = (FileBrowserSheet)getComponent();
        Filter<File> disabledFileFilter = fileBrowserSheet.getDisabledFileFilter();

        FileBrowserSheet.Mode mode = fileBrowserSheet.getMode();
        if (mode == FileBrowserSheet.Mode.SAVE_TO) {
            disabledFileFilter = new SaveToFileFilter(disabledFileFilter);
        }

        fileBrowser.setDisabledFileFilter(disabledFileFilter);
View Full Code Here

        fileBrowser.setDisabledFileFilter(disabledFileFilter);
    }

    private void updateOKButtonState() {
        FileBrowserSheet fileBrowserSheet = (FileBrowserSheet)getComponent();

        FileBrowserSheet.Mode mode = fileBrowserSheet.getMode();
        Sequence<File> selectedFiles = fileBrowser.getSelectedFiles();

        switch (mode) {
            case OPEN:
            case OPEN_MULTIPLE: {
View Full Code Here

            public void buttonPressed(Button button) {
                Button selection = fileBrowserSheetModeGroup.getSelection();

                String mode = (String)selection.getUserData().get("mode");
                FileBrowserSheet.Mode fileBrowserSheetMode = FileBrowserSheet.Mode.valueOf(mode.toUpperCase());
                final FileBrowserSheet fileBrowserSheet = new FileBrowserSheet();

                if (fileBrowserSheetMode == FileBrowserSheet.Mode.SAVE_AS) {
                    fileBrowserSheet.setSelectedFile(new File(fileBrowserSheet.getRootDirectory(), "New File"));
                }

                fileBrowserSheet.setMode(fileBrowserSheetMode);
                fileBrowserSheet.open(window, new SheetCloseListener() {
                    @Override
                    public void sheetClosed(Sheet sheet) {
                        if (sheet.getResult()) {
                            Sequence<File> selectedFiles = fileBrowserSheet.getSelectedFiles();

                            ListView listView = new ListView();
                            listView.setListData(new ArrayList<File>(selectedFiles));
                            listView.setSelectMode(ListView.SelectMode.NONE);
                            listView.getStyles().put("backgroundColor", null);
View Full Code Here

        WTKXSerializer wtkxSerializer = new WTKXSerializer();
        window = (Window)wtkxSerializer.readObject(this, "menu_bars.wtkx");

        tabPane = (TabPane)wtkxSerializer.get("tabPane");

        fileBrowserSheet = new FileBrowserSheet();

        window.open(display);
    }
View Full Code Here

    @Override
    public void startup(Display display, Map<String, String> properties)
        throws Exception {
        WTKXSerializer wtkxSerializer = new WTKXSerializer();

        FileBrowserSheet fileOpenSheet = new FileBrowserSheet(FileBrowserSheet.Mode.SAVE_AS);
        wtkxSerializer.put("fileOpenSheet", fileOpenSheet);

        frame = (Frame)wtkxSerializer.readObject(getClass().getResource("file_browser_sheet_test.wtkx"));
        frame.open(display);
    }
View Full Code Here

    @Override
    public void install(Component component) {
        super.install(component);

        final FileBrowserSheet fileBrowserSheet = (FileBrowserSheet)component;
        final FileBrowserSheet.Mode mode = fileBrowserSheet.getMode();

        // Load the sheet content
        Resources resources;
        try {
            resources = new Resources(getClass().getName());
        } catch (IOException exception) {
            throw new RuntimeException(exception);
        } catch (SerializationException exception) {
            throw new RuntimeException(exception);
        }

        WTKXSerializer wtkxSerializer = new WTKXSerializer(resources);

        Component content;
        try {
            content = (Component)wtkxSerializer.readObject(this, "terra_file_browser_sheet_skin.wtkx");
        } catch (IOException exception) {
            throw new RuntimeException(exception);
        } catch (SerializationException exception) {
            throw new RuntimeException(exception);
        }

        fileBrowserSheet.setContent(content);

        wtkxSerializer.bind(this, TerraFileBrowserSheetSkin.class);

        saveAsTextInput.getTextInputTextListeners().add(new TextInputTextListener() {
            @Override
            public void textChanged(TextInput textInput) {
                updateOKButtonState();
            }
        });

        fileBrowser.getStyles().put("keyboardFolderTraversalEnabled",
            (mode != FileBrowserSheet.Mode.SAVE_TO));

        fileBrowser.getFileBrowserListeners().add(new FileBrowserListener.Adapter() {
            @Override
            public void rootDirectoryChanged(FileBrowser fileBrowser,
                File previousRootDirectory) {
                updatingSelection = true;

                fileBrowserSheet.setRootDirectory(fileBrowser.getRootDirectory());

                updatingSelection = false;

                selectedDirectoryCount = 0;
                updateOKButtonState();
            }

            @Override
            public void selectedFileAdded(FileBrowser fileBrowser, File file) {
                if (file.isDirectory()) {
                    selectedDirectoryCount++;
                }

                updateOKButtonState();
            }

            @Override
            public void selectedFileRemoved(FileBrowser fileBrowser, File file) {
                if (file.isDirectory()) {
                    selectedDirectoryCount--;
                }

                updateOKButtonState();
            }

            @Override
            public void selectedFilesChanged(FileBrowser fileBrowser,
                Sequence<File> previousSelectedFiles) {
                selectedDirectoryCount = 0;

                Sequence<File> selectedFiles = fileBrowser.getSelectedFiles();
                for (int i = 0, n = selectedFiles.getLength(); i < n; i++) {
                    File selectedFile = selectedFiles.get(i);

                    if (selectedFile.isDirectory()) {
                        selectedDirectoryCount++;
                    }
                }

                if (!fileBrowser.isMultiSelect()) {
                    File selectedFile = fileBrowser.getSelectedFile();

                    if (selectedFile == null) {
                        saveAsTextInput.setText("");
                    } else if (!selectedFile.isDirectory()) {
                        saveAsTextInput.setText(selectedFile.getName());
                    }
                }

                updateOKButtonState();
            }
        });

        fileBrowser.getComponentMouseButtonListeners().add(new ComponentMouseButtonListener.Adapter() {
            private File file = null;

            @Override
            public boolean mouseClick(Component component, Mouse.Button button, int x, int y, int count) {
                boolean consumed = super.mouseClick(component, button, x, y, count);

                if (count == 1) {
                    file = fileBrowser.getFileAt(x, y);
                } else if (count == 2) {
                    File file = fileBrowser.getFileAt(x, y);

                    if (file != null
                        && this.file != null
                        && file.equals(this.file)
                        && fileBrowser.isFileSelected(file)) {
                        if (mode == FileBrowserSheet.Mode.OPEN
                            || mode == FileBrowserSheet.Mode.OPEN_MULTIPLE) {
                            if (!file.isDirectory()) {
                                fileBrowserSheet.close(true);
                                consumed = true;
                            }
                        }
                    }
                }

                return consumed;
            }
        });

        okButton.getButtonPressListeners().add(new ButtonPressListener() {
            @Override
            public void buttonPressed(Button button) {
                fileBrowserSheet.close(true);
            }
        });

        cancelButton.getButtonPressListeners().add(new ButtonPressListener() {
            @Override
            public void buttonPressed(Button button) {
                fileBrowserSheet.close(false);
            }
        });

        // Add this as a file browser sheet listener
        fileBrowserSheet.getFileBrowserSheetListeners().add(this);

        // Initialize layout and file browser selection state
        switch (mode) {
            case OPEN: {
                saveAsBoxPane.setVisible(false);
View Full Code Here

        disabledFileFilterChanged(fileBrowserSheet, null);
    }

    @Override
    public void uninstall() {
        FileBrowserSheet fileBrowserSheet = (FileBrowserSheet)getComponent();

        fileBrowserSheet.setContent(null);
        fileBrowserSheet.getFileBrowserSheetListeners().remove(this);

        super.uninstall();
    }
View Full Code Here

TOP

Related Classes of org.apache.pivot.wtk.FileBrowserSheet

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.