コード例 #1
0
  @Override
  protected void internalRefresh() {
    super.internalRefresh();

    // Don't show this panel, if we weren't able to suggest anything
    if (getComposite().getListData().getItemCount() > 0) {
      org.lgna.croquet.views.MigPanel snippetsPanel =
          new org.lgna.croquet.views.MigPanel(null, "fill, ins 0", "[120!][120!][120!]", "[][]2[]");

      // TODO: localize this label
      org.lgna.croquet.views.Label label =
          new org.lgna.croquet.views.Label(
              "Remixable Actions", edu.cmu.cs.dennisc.java.awt.font.TextPosture.OBLIQUE);
      snippetsPanel.addComponent(label, "span 3 1, cell 0 0");

      for (int i = 0; i < getComposite().getListData().getItemCount(); i++) {
        edu.wustl.lookingglass.ide.uricontent.CommunitySnippetLoader loader =
            getComposite().getListData().getItemAt(i);

        edu.wustl.lookingglass.ide.croquet.models.preview.PreviewSnippetComposite
            previewSnippetComposite = getComposite().getPreviewComposites()[i];
        previewSnippetComposite.setSnippetLoader(loader);

        javax.swing.JButton button =
            createButton(loader, previewSnippetComposite.getLaunchOperation());
        org.lgna.croquet.views.Hyperlink title =
            previewSnippetComposite.getLaunchOperation().createHyperlink();
        title.setClobberText(getTitle(loader.getTitle()));

        if (button != null) {
          snippetsPanel.getAwtComponent().add(button, "cell " + i + " 1, w 79!, h 79!, center");
          snippetsPanel.addComponent(title, "cell " + i + " 2, center");
        }
      }

      this.addComponent(snippetsPanel);
      this.addComponent(org.lgna.croquet.views.BoxUtilities.createVerticalStrut(4));
    }
  }