code: @Override
      protected String createDialogHtml(String dialog) {
  
          StringBuffer result = new StringBuffer(1024);
  
          // create table
          result.append(createWidgetTableStart());
  
          // show error header once if there were validation errors
          result.append(createWidgetErrorHeader());
  
          if (dialog.equals(PAGES[0])) {
              result.append(dialogBlockStart(key("label.moduleinformation")));
              result.append(createWidgetTableStart());
              result.append(createDialogRowsHtml(0, 7));
              result.append(createWidgetTableEnd());
              result.append(dialogBlockEnd());
              result.append(dialogBlockStart(key("label.modulecreator")));
              result.append(createWidgetTableStart());
              result.append(createDialogRowsHtml(8, 9));
              result.append(createWidgetTableEnd());
              result.append(dialogBlockEnd());
              result.append(dialogBlockStart(key("label.moduleexportmode")));
              result.append(createWidgetTableStart());
              result.append(createDialogRowsHtml(10, 10));
              result.append(createWidgetTableEnd());
              result.append(dialogBlockEnd());
              if (CmsStringUtil.isEmpty(m_module.getName())) {
                  result.append(dialogBlockStart(key("label.modulefolder")));
                  result.append(createWidgetTableStart());
                  result.append(createDialogRowsHtml(11, 17));
                  result.append(createWidgetTableEnd());
                  result.append(dialogBlockEnd());
              }
          }
  
          // close table
          result.append(createWidgetTableEnd());
  
          return result.toString();
      }
docs: Creates the dialog HTML for all defined widgets of the named dialog (page).<p>
  
  @param dialog the dialog (page) to get the HTML for
  @return the dialog HTML for all defined widgets of the named dialog (page)