Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    showIf for toolStripMenuButton

    Should showIf work with toolStripMenuButtons? If not what is the reccomended way to not show an item based on security level?

    In the example showcase I made the following change:

    isc.ToolStripMenuButton.create({
    ID: "menuButton",
    title: "File",
    menu: menu,
    showIf:"return false"
    });

    It causes text to overlap on the menu strip.

    Any help is appreciated.

    #2
    You're slightly better off using a conditional to avoid ever calling create(). There might also be a bug here, but we'd need the surrounding code to be able to tell.

    Comment


      #3
      Thanks for the quick reply! Here is the code:

      Code:
      isc.Menu.create({
          ID: "menu",
          autoDraw: false,
          showShadow: true,
          shadowDepth: 10,
          data: [
              {title: "New", keyTitle: "Ctrl+N", icon: "icons/16/document_plain_new.png"},
              
      {title: "Open", keyTitle: "Ctrl+O", icon: "icons/16/folder_out.png"},
              {isSeparator: true},
              {title: "Save", keyTitle: "Ctrl+S", icon: "icons/16/disk_blue.png"},
              {title: "Save As", icon: "icons/16/save_as.png"},
              {isSeparator: true},
              {title: "Recent Documents", icon: "icons/16/folder_document.png", submenu: [
                  {title: "data.xml", checked: true},
                  {title: "Component Guide.doc"},
                  {title: "SmartClient.doc", checked: true},
                  {title: "AJAX.doc"}
              ]},
              {isSeparator: true},
              {title: "Export as...", icon: "icons/16/export1.png", submenu: [
                  {title: "XML"},
                  {title: "CSV"},
                  {title: "Plain text"}
              ]},
              {isSeparator: true},
              {title: "Print", enabled: false, keyTitle: "Ctrl+P", icon: "icons/16/printer3.png"}
          ]
      });
      
      isc.ToolStripMenuButton.create({
          ID: "menuButton",
          title: "File",   
          menu: menu,
          showIf:"return false"
      });
      
      isc.ToolStripButton.create({
          ID: "printButton",    
          icon: "other/printer.png",  
          title: "print"
          
      });
      isc.ToolStripButton.create({
          ID: "alignLeft",   
          icon: "[SKIN]/RichTextEditor/text_align_left.png",    
          actionType: "radio",
          radioGroup: "textAlign"
      });
      isc.ToolStripButton.create({
          ID: "alignRight",   
          icon: "[SKIN]/RichTextEditor/text_align_right.png", 
          actionType: "radio",
          radioGroup: "textAlign"
      });
      isc.ToolStripButton.create({
          ID: "alignCenter",   
          icon: "[SKIN]/RichTextEditor/text_align_center.png", 
          actionType: "radio",
          radioGroup: "textAlign"
      });
      isc.ToolStripButton.create({
          ID: "bold",    
          icon: "[SKIN]/RichTextEditor/text_bold.png",    
          actionType: "checkbox"
      });
      isc.ToolStripButton.create({
          ID: "italics",    
          icon: "[SKIN]/RichTextEditor/text_italic.png",
          actionType: "checkbox"
      });
      isc.ToolStripButton.create({
          ID: "underlined",    
          icon: "[SKIN]/RichTextEditor/text_underline.png", 
          actionType: "checkbox"
      });
      
      isc.DynamicForm.create({
          ID: "fontSelector",
          showResizeBar:true,
          width:100, minWidth:50,
          numCols:1,
          fields: [
              {name: "selectFont", showTitle: false, width:"*",
               valueMap: {
                  "courier": "<span style='font-family:courier'>Courier</span>",
                  "verdana": "<span style='font-family:verdana'>Verdana</span>",
                  "times": "<span style='font-family:times'>Times</span>"
               }, defaultValue:"courier" }
          ]    
      });
      
      isc.DynamicForm.create({
          ID: "zoomSelector",
          width:100, minWidth:50,
          numCols:1,
          fields: [
              {name: "selectZoom", showTitle: false, width:"*",
               valueMap: ["50%", "75%", "100%", "150%", "200%", "Fit"],
               defaultValue:"100%" }
          ]
      });
      
      isc.ToolStrip.create({
          width: 450, height:24, 
          members: [menuButton, "separator", printButton, 
                    "resizer", bold, italics, underlined, 
                    "separator",
                    alignLeft, alignRight, alignCenter,
                    "separator",
                    fontSelector, "resizer", zoomSelector]
      });
      Notice the MenuButton item has showIf.

      Comment


        #4
        Thanks, we'll try this out, but just a note that because the best strategy is not to create the objects at all, this is going to be given a somewhat low priority - don't expect our usual immediate fixes.

        Comment


          #5
          Understood.
          Can you explain you other recommendation? I understand that I can skip the create of the menubutton based on my business logic. But, the toolstrip will complain that one of its members is missing?

          Comment


            #6
            What you would do is use conditional logic to avoid giving the omitted button to the Toolstrip at all.

            Comment

            Working...
            X