docs: public void printInputControl(PrintWriter out, String strFieldDesc, String strFieldName, String strSize, String strMaxSize, String strValue, String strControlType, int iHtmlAttributes)
      {
          if (!HtmlConstants.BUTTON.equalsIgnoreCase(strControlType))
          {
              strFieldName = DBParams.COMMAND;
              strControlType = HtmlConstants.SUBMIT;
          }
          String strButtonDesc = ((SButtonBox)this.getScreenField()).getButtonDesc();
          if ((strButtonDesc == null)
              && (((SButtonBox)this.getScreenField()).getImageButtonName() != null))
          {
              if (this.getScreenField().getParentScreen() instanceof GridScreen)
              { // These are command buttons such as "Form" or "Detail"
                  GridScreen gridScreen = (GridScreen)this.getScreenField().getParentScreen();
                  Record record = gridScreen.getMainRecord();
                  String strRecordClass = record.getClass().getName();
                  String strBookmark = DBConstants.BLANK;
                  try {
                      strBookmark = record.getHandle(DBConstants.OBJECT_ID_HANDLE).toString();
                  } catch (DBException ex)    {
                      ex.printStackTrace();
                  }
                  String strImage = "form";
                  if (((SButtonBox)this.getScreenField()).getImageButtonName() != null)
                      strImage = ((SButtonBox)this.getScreenField()).getImageButtonName();
                  String strButtonCommand = ((SButtonBox)this.getScreenField()).getButtonCommand();
                  if ((strButtonCommand == null) || (strButtonCommand.length() == 0))
                      strButtonCommand = ThinMenuConstants.FORM;
                  String strCommand = "&" + DBParams.COMMAND + "=" + strButtonCommand;
                  try {
                      out.println("<td align=\"center\" valign=\"center\"><a href=\"" + "?record=" + strRecordClass + strCommand + "&" + DBConstants.STRING_OBJECT_ID_HANDLE + "=" + URLEncoder.encode(strBookmark, DBConstants.URL_ENCODING) + "\"><IMG SRC=\"" + HtmlConstants.IMAGE_DIR + "buttons/" + strImage + ".gif\" width=\"16\" height=\"16\" alt=\"Open this record\"></a></td>");
                  } catch (java.io.UnsupportedEncodingException ex) {
                      ex.printStackTrace();
                  }
              }
              else
              {
                  strButtonDesc = ((SButtonBox)this.getScreenField()).getImageButtonName();
                  String strCommand = "<td><img src=\"" + HtmlConstants.IMAGE_DIR + "buttons/" + 
                      ((SButtonBox)this.getScreenField()).getImageButtonName() + ".gif\" width=\"16\" height=\"16\" border=\"0\"></td>";
                  out.println(strCommand);
              }
          }
          else
          {
              if (strButtonDesc == null)
                  strButtonDesc = ((SButtonBox)this.getScreenField()).getButtonCommand();
              out.println("<td><input type=\"" + strControlType + "\" name=\"" + strFieldName + "\" value=\"" + strButtonDesc + "\"/></td>");
          }
      }