コード例 #1
0
    // Called when the node enters the scene tree for the first time.
    public override void _Ready()
    {
        // Set up the menu bar items
        FileButton = GetNode <MenuButton>("MenuBar/btnFile");
        PopupMenu FileButtonPopup = FileButton.GetPopup();

        EditButton = GetNode <MenuButton>("MenuBar/btnEdit");
        PopupMenu EditButtonPopup = EditButton.GetPopup();

        ViewButton = GetNode <MenuButton>("MenuBar/btnView");
        HelpButton = GetNode <MenuButton>("MenuBar/btnHelp");

        // Populate file
        FileButtonPopup.AddItem("New");
        FileButtonPopup.AddItem("Open");
        FileButtonPopup.AddItem("Import");
        FileButtonPopup.AddSeparator();
        FileButtonPopup.AddItem("Save");
        FileButtonPopup.AddItem("Save As");
        FileButtonPopup.AddSeparator();
        FileButtonPopup.AddItem("Preferences");
        FileButtonPopup.AddSeparator();
        FileButtonPopup.AddItem("Exit");
        FileButtonPopup.Connect("id_pressed", this, "FileButtonPressed");

        PreferencesWindow = GetNode <WindowDialog>("/root/main/UI/PreferencesWindow");
        ImportWindow      = GetNode <FileDialog>("/root/main/UI/ImportWindow");
        // Populate edit

        // Create Insert shape submenu
        PopupMenu AddShapeMenu = new PopupMenu();

        AddShapeMenu.Name = "Shape";
        AddShapeMenu.AddItem("Square");
        AddShapeMenu.AddItem("Sphere");
        AddShapeMenu.AddItem("Cylinder");
        AddShapeMenu.AddItem("Prism");
        AddShapeMenu.AddItem("Capsule");
        EditButtonPopup.AddChild(AddShapeMenu);

        EditButtonPopup.AddSubmenuItem("Add Shape", "Shape");



        // Populate view
        ViewButton.GetPopup().AddItem("1");
        ViewButton.GetPopup().AddItem("2");
        ViewButton.GetPopup().AddItem("2alt");
        ViewButton.GetPopup().AddItem("3");
        ViewButton.GetPopup().AddItem("3alt");
        ViewButton.GetPopup().AddItem("4");
        ViewButton.GetPopup().Connect("id_pressed", GetNode("/root/main/UI/AppWindow/EnvironmentContainer/4WayViewport/"), "toolbarViewItemPressed");

        this.Connect("gui_input", this, "TitleBarGUIInputHandler");
        GD.Print("TITLEBAR.CS: READY");
    }