Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding 2 MenuBar to a Window is broken in v2 #287

Open
tznind opened this issue Jan 6, 2024 · 2 comments
Open

Adding 2 MenuBar to a Window is broken in v2 #287

tznind opened this issue Jan 6, 2024 · 2 comments
Labels
bug Something isn't working v2

Comments

@tznind
Copy link
Collaborator

tznind commented Jan 6, 2024

  1. Create a new view
  2. Add 2 MenuBar
  3. Move them so they are both visible
  4. Save
  5. Close and re open app
  6. Open View

Expected: Both menu bars to be in same place as before (this is the way it works in v1)
Observed: Only one menu bar is visible

image

@tznind tznind added bug Something isn't working v2 labels Jan 6, 2024
@tznind
Copy link
Collaborator Author

tznind commented Jan 6, 2024

Looks like the menu bar is there and after opening you can tab to it but its not visible.

Looking at properties it seems it has Width:0

View seemingly loads fine in real apps so must be a bug in properties or something.

image

Example .Designer.cs file (which looks correct)
//------------------------------------------------------------------------------

//  <auto-generated>
//      This code was generated by:
//        TerminalGuiDesigner v1.1.0.0
//      Changes to this file may cause incorrect behavior and will be lost if
//      the code is regenerated.
//  </auto-generated>
// -----------------------------------------------------------------------------
namespace YourNamespace {
  using System;
  using Terminal.Gui;
  using System.Collections;
  using System.Collections.Generic;
  
  
  public partial class Class1 : Terminal.Gui.Window {
      
      private Terminal.Gui.MenuBar menuBar;
      
      private Terminal.Gui.MenuBarItem fileF9Menu;
      
      private Terminal.Gui.MenuItem editMeMenuItem;
      
      private Terminal.Gui.MenuBar menuBar2;
      
      private Terminal.Gui.MenuBarItem fileF9Menu2;
      
      private Terminal.Gui.MenuItem editMeMenuItem2;
      
      private void InitializeComponent() {
          this.menuBar2 = new Terminal.Gui.MenuBar();
          this.menuBar = new Terminal.Gui.MenuBar();
          this.Width = Dim.Fill(0);
          this.Height = Dim.Fill(0);
          this.X = 0;
          this.Y = 0;
          this.Visible = true;
          this.Modal = false;
          this.TextAlignment = Terminal.Gui.TextAlignment.Left;
          this.Title = "";
          this.menuBar.Width = Dim.Fill(0);
          this.menuBar.Height = 1;
          this.menuBar.X = 0;
          this.menuBar.Y = 0;
          this.menuBar.Visible = true;
          this.menuBar.Data = "menuBar";
          this.menuBar.TextAlignment = Terminal.Gui.TextAlignment.Left;
          this.fileF9Menu = new Terminal.Gui.MenuBarItem();
          this.fileF9Menu.Title = "_File (F9)";
          this.editMeMenuItem = new Terminal.Gui.MenuItem();
          this.editMeMenuItem.Title = "Edit Me";
          this.editMeMenuItem.Data = "editMeMenuItem";
          this.fileF9Menu.Children = new Terminal.Gui.MenuItem[] {
                  this.editMeMenuItem};
          this.menuBar.Menus = new Terminal.Gui.MenuBarItem[] {
                  this.fileF9Menu};
          this.Add(this.menuBar);
          this.menuBar2.Width = Dim.Fill(0);
          this.menuBar2.Height = 1;
          this.menuBar2.X = 0;
          this.menuBar2.Y = 4;
          this.menuBar2.Visible = true;
          this.menuBar2.Data = "menuBar2";
          this.menuBar2.TextAlignment = Terminal.Gui.TextAlignment.Left;
          this.fileF9Menu2 = new Terminal.Gui.MenuBarItem();
          this.fileF9Menu2.Title = "_File (F9)";
          this.editMeMenuItem2 = new Terminal.Gui.MenuItem();
          this.editMeMenuItem2.Title = "Edit Me";
          this.editMeMenuItem2.Data = "editMeMenuItem2";
          this.fileF9Menu2.Children = new Terminal.Gui.MenuItem[] {
                  this.editMeMenuItem2};
          this.menuBar2.Menus = new Terminal.Gui.MenuBarItem[] {
                  this.fileF9Menu2};
          this.Add(this.menuBar2);
      }
  }
}

@tig
Copy link

tig commented May 21, 2024

Suggestion: De-prioritize fixing this until this is done:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working v2
Projects
None yet
Development

No branches or pull requests

2 participants