Search in sources :

Example 1 with Menu

use of com.kotcrab.vis.ui.widget.Menu in project talos by rockbite.

the class ShaderAddon method buildMenu.

@Override
public void buildMenu(MenuBar menuBar) {
    Menu menu = new Menu("Shader Graph");
    MenuItem newFile = new MenuItem("New Shader");
    menu.addItem(newFile);
    MenuItem openFile = new MenuItem("Open Shader");
    menu.addItem(openFile);
    MenuItem exportRaw = new MenuItem("Export RAW");
    menu.addItem(exportRaw);
    MenuItem exportPNG = new MenuItem("Export PNG");
    menu.addItem(exportPNG);
    MenuItem exportSequence = new MenuItem("Export Sequence");
    menu.addItem(exportSequence);
    newFile.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            TalosMain.Instance().ProjectController().newProject(SHADER_PROJECT);
        }
    });
    openFile.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            super.clicked(event, x, y);
            TalosMain.Instance().UIStage().openProjectAction(SHADER_PROJECT);
        }
    });
    exportRaw.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            super.clicked(event, x, y);
            // export RAW logic
            TalosMain.Instance().UIStage().showSaveFileChooser(".frag", new FileChooserAdapter() {

                @Override
                public void selected(Array<FileHandle> files) {
                    String fragShader = ((ShaderNodeStage) (nodeStage)).getFragShader();
                    FileHandle file = files.get(0);
                    file.writeString(fragShader, false);
                }
            });
        }
    });
    exportPNG.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            super.clicked(event, x, y);
            // export RAW logic
            TalosMain.Instance().UIStage().showSaveFileChooser(".png", new FileChooserAdapter() {

                @Override
                public void selected(Array<FileHandle> files) {
                    FileHandle file = files.get(0);
                    Pixmap pixmap = ((ShaderNodeStage) (nodeStage)).exportPixmap();
                    if (pixmap != null) {
                        PixmapIO.writePNG(file, pixmap);
                        pixmap.dispose();
                    }
                }
            });
        }
    });
    exportSequence.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            super.clicked(event, x, y);
            TalosMain.Instance().UIStage().getStage().addActor(exportSequenceDialog.fadeIn());
        }
    });
    menuBar.addMenu(menu);
}
Also used : Array(com.badlogic.gdx.utils.Array) ShaderNodeStage(com.talosvfx.talos.editor.addons.shader.workspace.ShaderNodeStage) FileHandle(com.badlogic.gdx.files.FileHandle) FileChooserAdapter(com.kotcrab.vis.ui.widget.file.FileChooserAdapter) MenuItem(com.kotcrab.vis.ui.widget.MenuItem) Menu(com.kotcrab.vis.ui.widget.Menu) InputEvent(com.badlogic.gdx.scenes.scene2d.InputEvent) ClickListener(com.badlogic.gdx.scenes.scene2d.utils.ClickListener) Pixmap(com.badlogic.gdx.graphics.Pixmap)

Example 2 with Menu

use of com.kotcrab.vis.ui.widget.Menu in project talos by rockbite.

the class BvBAddon method buildMenu.

@Override
public void buildMenu(MenuBar menuBar) {
    Menu bvbMenu = new Menu("Animations");
    MenuItem newBvbProject = new MenuItem("New Project");
    bvbMenu.addItem(newBvbProject);
    MenuItem openBvbProject = new MenuItem("Open Project");
    bvbMenu.addItem(openBvbProject);
    // TODO: add other menu items here
    newBvbProject.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            super.clicked(event, x, y);
            TalosMain.Instance().ProjectController().newProject(BVB);
        }
    });
    openBvbProject.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            super.clicked(event, x, y);
            TalosMain.Instance().UIStage().openProjectAction(BVB);
        }
    });
    menuBar.addMenu(bvbMenu);
}
Also used : MenuItem(com.kotcrab.vis.ui.widget.MenuItem) Menu(com.kotcrab.vis.ui.widget.Menu) InputEvent(com.badlogic.gdx.scenes.scene2d.InputEvent) ClickListener(com.badlogic.gdx.scenes.scene2d.utils.ClickListener)

Example 3 with Menu

use of com.kotcrab.vis.ui.widget.Menu in project vis-ui by kotcrab.

the class TestApplication method create.

@Override
public void create() {
    VisUI.load(SkinScale.X1);
    stage = new Stage(new ScreenViewport());
    final Table root = new Table();
    root.setFillParent(true);
    stage.addActor(root);
    Gdx.input.setInputProcessor(stage);
    menuBar = new MenuBar();
    menuBar.setMenuListener(new MenuBar.MenuBarListener() {

        @Override
        public void menuOpened(Menu menu) {
            System.out.println("Opened menu: " + menu.getTitle());
        }

        @Override
        public void menuClosed(Menu menu) {
            System.out.println("Closed menu: " + menu.getTitle());
        }
    });
    root.add(menuBar.getTable()).expandX().fillX().row();
    root.add().expand().fill();
    createMenus();
    stage.addActor(new TestCollapsible());
    stage.addActor(new TestColorPicker());
    if (Gdx.app.getType() == ApplicationType.Desktop)
        stage.addActor(new TestFileChooser());
    stage.addActor(new TestWindow());
    stage.addActor(new TestSplitPane());
    stage.addActor(new TestTextAreaAndScroll());
    stage.addActor(new TestTree());
    stage.addActor(new TestVertical());
    stage.addActor(new TestFormValidator());
    stage.addActor(new TestDialogs());
    stage.addActor(new TestValidator());
    stage.addActor(new TestBuilders());
    // stage.addActor(new TestTabbedPane());
    // stage.addActor(new TestFlowGroup());
    // stage.addActor(new TestButtonBar());
    // stage.addActor(new TestListView());
    // stage.addActor(new TestToasts(stage));
    // stage.addActor(new TestHighlightTextArea());
    // stage.addActor(new TestBusyBar());
    // stage.addActor(new TestMultiSplitPane());
    stage.addListener(new InputListener() {

        boolean debug = false;

        @Override
        public boolean keyDown(InputEvent event, int keycode) {
            if (keycode == Keys.F12) {
                debug = !debug;
                root.setDebug(debug, true);
                for (Actor actor : stage.getActors()) {
                    if (actor instanceof Group) {
                        Group group = (Group) actor;
                        group.setDebug(debug, true);
                    }
                }
                return true;
            }
            return false;
        }
    });
}
Also used : MenuBar(com.kotcrab.vis.ui.widget.MenuBar) Menu(com.kotcrab.vis.ui.widget.Menu) PopupMenu(com.kotcrab.vis.ui.widget.PopupMenu) Table(com.badlogic.gdx.scenes.scene2d.ui.Table) ScreenViewport(com.badlogic.gdx.utils.viewport.ScreenViewport)

Example 4 with Menu

use of com.kotcrab.vis.ui.widget.Menu in project vis-ui by kotcrab.

the class TestApplication method createMenus.

private void createMenus() {
    Menu fileMenu = new Menu("File");
    Menu editMenu = new Menu("Edit");
    Menu windowMenu = new Menu("Window");
    Menu helpMenu = new Menu("Help");
    fileMenu.addItem(createTestsMenu());
    fileMenu.addItem(new MenuItem("menuitem #1"));
    fileMenu.addItem(new MenuItem("menuitem #2").setShortcut("f1"));
    fileMenu.addItem(new MenuItem("menuitem #3").setShortcut("f2"));
    fileMenu.addItem(new MenuItem("menuitem #4").setShortcut("alt + f4"));
    MenuItem subMenuItem = new MenuItem("submenu #1");
    subMenuItem.setShortcut("alt + insert");
    subMenuItem.setSubMenu(createSubMenu());
    fileMenu.addItem(subMenuItem);
    MenuItem subMenuItem2 = new MenuItem("submenu #2");
    subMenuItem2.setSubMenu(createSubMenu());
    fileMenu.addItem(subMenuItem2);
    MenuItem subMenuItem3 = new MenuItem("submenu disabled");
    subMenuItem3.setDisabled(true);
    subMenuItem3.setSubMenu(createSubMenu());
    fileMenu.addItem(subMenuItem3);
    // ---
    editMenu.addItem(new MenuItem("menuitem #5"));
    editMenu.addItem(new MenuItem("menuitem #6"));
    editMenu.addSeparator();
    editMenu.addItem(new MenuItem("menuitem #7"));
    editMenu.addItem(new MenuItem("menuitem #8"));
    editMenu.addItem(createDoubleNestedMenu());
    MenuItem disabledItem = new MenuItem("disabled menuitem");
    disabledItem.setDisabled(true);
    MenuItem disabledItem2 = new MenuItem("disabled menuitem shortcut").setShortcut("alt + f4");
    disabledItem2.setDisabled(true);
    editMenu.addItem(disabledItem);
    editMenu.addItem(disabledItem2);
    windowMenu.addItem(new MenuItem("menuitem #9"));
    windowMenu.addItem(new MenuItem("menuitem #10"));
    windowMenu.addItem(new MenuItem("menuitem #11"));
    windowMenu.addSeparator();
    windowMenu.addItem(new MenuItem("menuitem #12"));
    helpMenu.addItem(new MenuItem("about", new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            Dialogs.showOKDialog(stage, "about", "visui test application");
        }
    }));
    menuBar.addMenu(fileMenu);
    menuBar.addMenu(editMenu);
    menuBar.addMenu(windowMenu);
    menuBar.addMenu(helpMenu);
}
Also used : MenuItem(com.kotcrab.vis.ui.widget.MenuItem) ChangeListener(com.badlogic.gdx.scenes.scene2d.utils.ChangeListener) Menu(com.kotcrab.vis.ui.widget.Menu) PopupMenu(com.kotcrab.vis.ui.widget.PopupMenu)

Example 5 with Menu

use of com.kotcrab.vis.ui.widget.Menu in project talos by rockbite.

the class SceneEditorAddon method buildMenu.

@Override
public void buildMenu(MenuBar menuBar) {
    Menu mainMenu = new Menu("Scene Editor");
    MenuItem newProject = new MenuItem("New Project");
    mainMenu.addItem(newProject);
    MenuItem openProject = new MenuItem("Open Project");
    mainMenu.addItem(openProject);
    mainMenu.addSeparator();
    MenuItem projectSettings = new MenuItem("Project Settings");
    mainMenu.addItem(projectSettings);
    newProject.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            super.clicked(event, x, y);
            TalosMain.Instance().ProjectController().newProject(SE);
        }
    });
    openProject.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            super.clicked(event, x, y);
            TalosMain.Instance().UIStage().openProjectAction(SE);
        }
    });
    projectSettings.addListener(new ClickListener() {

        @Override
        public void clicked(InputEvent event, float x, float y) {
            super.clicked(event, x, y);
            if (TalosMain.Instance().ProjectController().getProject() == SE) {
                showSettingsDialog();
            }
        }
    });
    menuBar.addMenu(mainMenu);
}
Also used : MenuItem(com.kotcrab.vis.ui.widget.MenuItem) Menu(com.kotcrab.vis.ui.widget.Menu) InputEvent(com.badlogic.gdx.scenes.scene2d.InputEvent) ClickListener(com.badlogic.gdx.scenes.scene2d.utils.ClickListener)

Aggregations

Menu (com.kotcrab.vis.ui.widget.Menu)6 MenuItem (com.kotcrab.vis.ui.widget.MenuItem)5 InputEvent (com.badlogic.gdx.scenes.scene2d.InputEvent)3 ClickListener (com.badlogic.gdx.scenes.scene2d.utils.ClickListener)3 PopupMenu (com.kotcrab.vis.ui.widget.PopupMenu)2 FileHandle (com.badlogic.gdx.files.FileHandle)1 Pixmap (com.badlogic.gdx.graphics.Pixmap)1 Table (com.badlogic.gdx.scenes.scene2d.ui.Table)1 TextButton (com.badlogic.gdx.scenes.scene2d.ui.TextButton)1 ChangeListener (com.badlogic.gdx.scenes.scene2d.utils.ChangeListener)1 Array (com.badlogic.gdx.utils.Array)1 ScreenViewport (com.badlogic.gdx.utils.viewport.ScreenViewport)1 MenuBar (com.kotcrab.vis.ui.widget.MenuBar)1 FileChooserAdapter (com.kotcrab.vis.ui.widget.file.FileChooserAdapter)1 ShaderNodeStage (com.talosvfx.talos.editor.addons.shader.workspace.ShaderNodeStage)1 Method (java.lang.reflect.Method)1