public AboutView() {
    super();

    mainPanel.setWidth("100%");
    mainPanel.add(new HTML("<h1>" + Messages.Util.INSTANCE.get().about() + "</h1>"));

    Panel panelV = new VerticalPanel();
    panelV.setWidth("100%");
    ((HasHorizontalAlignment) panelV).setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);

    Panel panel = new FlowPanel();
    panel.getElement().getStyle().setProperty("maxWidth", "400px");

    // might be judicious to use css instead...
    String pstyle = "style=\"text-align: justify; font-size: 125%;\"";

    StringBuilder htmlStr = new StringBuilder();

    htmlStr.append("<h2>General Information</h2>");

    htmlStr.append("<p ").append(pstyle).append(">");
    htmlStr.append("This simple web app provides a showcase for the ");
    htmlStr.append("<a href=\"https://developer.lufthansa.com/\">Lufthansa Open API</a>. ");
    htmlStr.append(
        "The API and data are used in conformance with the <a href=\"https://developer.lufthansa.com/General_Terms_and_Conditions\">license</a>.");
    htmlStr.append("</p>");

    htmlStr.append("<h2>Some Technical Aspects</h2>");

    htmlStr.append("<p ").append(pstyle).append(">");
    htmlStr.append("This app is developped using <a href=\"http://www.gwtproject.org/\">GWT</a>. ");
    htmlStr.append(
        "It reposes on the MVP architecture (Model-View-Presenter) as described in the article <a href=\"http://www.gwtproject.org/articles/mvp-architecture.html\">Building MVP apps</a>.");
    htmlStr.append("</p>");

    htmlStr.append("<h2>Source Code</h2>");

    htmlStr.append("<p ").append(pstyle).append(">");
    htmlStr.append(
        "The source code is available on <a href=\"https://github.com/roikku/lh-api-showcase\">GitHub</a>. ");
    htmlStr.append("</p>");

    htmlStr.append("<h2>Disclaimer</h2>");

    htmlStr.append("<p ").append(pstyle).append(">");
    htmlStr.append(
        "The owner of this website cannot be held liable for damages of any kind arising out of use, reference to, or reliance on any information found on this site. It must be borne in mind that no guarantee is given that the information provided in this website is correct, complete, and up-to-date.");
    htmlStr.append("</p>");

    panel.add(new HTML(htmlStr.toString()));
    panelV.add(panel);
    mainPanel.add(panelV);
    initWidget(mainPanel);
  }
 public BootstrapGeneratorWidget() {
   contentPanel = new VerticalPanel();
   contentPanel.setWidth("800px");
   surveyService = GWT.create(SurveyService.class);
   addSurveyButton = new Button(TEXT_CONSTANTS.addSelected());
   addSurveyButton.addClickHandler(this);
   generateFileButton = new Button(TEXT_CONSTANTS.generate());
   generateFileButton.addClickHandler(this);
   removeButton = new Button(TEXT_CONSTANTS.removeSelected());
   removeButton.addClickHandler(this);
   CaptionPanel selectorPanel = new CaptionPanel(TEXT_CONSTANTS.selectSurveyForInclusion());
   HorizontalPanel temp = new HorizontalPanel();
   selectionWidget = new SurveySelectionWidget(Orientation.HORIZONTAL, TerminalType.SURVEY);
   temp.add(selectionWidget);
   temp.add(addSurveyButton);
   selectorPanel.add(temp);
   contentPanel.add(selectorPanel);
   CaptionPanel zipPanel = new CaptionPanel(TEXT_CONSTANTS.fileContents());
   selectionListbox = new ListBox(true);
   selectionListbox.setVisibleItemCount(DEFAULT_ITEM_COUNT);
   VerticalPanel zipPanelContent = new VerticalPanel();
   HorizontalPanel selectedSurveyPanel = new HorizontalPanel();
   ViewUtil.installFieldRow(
       selectedSurveyPanel, TEXT_CONSTANTS.selectedSurveys(), selectionListbox, LABEL_STYLE);
   selectedSurveyPanel.add(removeButton);
   zipPanelContent.add(selectedSurveyPanel);
   temp = new HorizontalPanel();
   includeDbScriptBox = new CheckBox();
   includeDbScriptBox.addClickHandler(this);
   ViewUtil.installFieldRow(temp, TEXT_CONSTANTS.includeDB(), includeDbScriptBox, LABEL_STYLE);
   zipPanelContent.add(temp);
   dbInstructionArea = new TextArea();
   dbInstructionArea.setVisible(false);
   zipPanelContent.add(dbInstructionArea);
   temp = new HorizontalPanel();
   notificationEmailBox = new TextBox();
   ViewUtil.installFieldRow(
       temp, TEXT_CONSTANTS.notificationEmail(), notificationEmailBox, LABEL_STYLE);
   zipPanelContent.add(temp);
   zipPanelContent.add(generateFileButton);
   zipPanel.add(zipPanelContent);
   contentPanel.add(zipPanel);
   initWidget(contentPanel);
 }