Package com.aelitis.azureus.ui.swt.shells.main

Source Code of com.aelitis.azureus.ui.swt.shells.main.DebugMenuHelper

package com.aelitis.azureus.ui.swt.shells.main;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.*;

import org.gudy.azureus2.core3.logging.LogAlert;
import org.gudy.azureus2.core3.logging.Logger;
import org.gudy.azureus2.ui.swt.donations.DonationWindow;
import org.gudy.azureus2.ui.swt.shells.CoreWaiterSWT;
import org.gudy.azureus2.ui.swt.shells.MessageBoxShell;

import com.aelitis.azureus.core.AzureusCore;
import com.aelitis.azureus.core.AzureusCoreRunningListener;
import com.aelitis.azureus.ui.UIFunctionsManager;
import com.aelitis.azureus.ui.swt.UIFunctionsManagerSWT;
import com.aelitis.azureus.ui.swt.UIFunctionsSWT;
import com.aelitis.azureus.ui.swt.skin.SWTSkin;
import com.aelitis.azureus.ui.swt.skin.SWTSkinObjectContainer;
import com.aelitis.azureus.ui.swt.views.skin.VuzeMessageBox;
import com.aelitis.azureus.ui.swt.views.skin.VuzeMessageBoxListener;
import com.aelitis.azureus.util.ConstantsVuze;

/**
* A convenience class for creating the Debug menu
* <p>
* This has been extracted out into its own class since it does not really belong to production code
* @author knguyen
*
*/
public class DebugMenuHelper
{
  /**
   * Creates the Debug menu and its children
   * NOTE: This is a development only menu and so it's not modularized into separate menu items
   * because this menu is always rendered in its entirety
   * @param menu
   * @param mainWindow
   * @return
   */
  public static MenuItem createDebugMenuItem(final Menu menuDebug) {
    MenuItem item;

    final UIFunctionsSWT uiFunctions = UIFunctionsManagerSWT.getUIFunctionsSWT();
    if (null == uiFunctions) {
      throw new IllegalStateException(
          "UIFunctionsManagerSWT.getUIFunctionsSWT() is returning null");
    }
   
    item = new MenuItem(menuDebug, SWT.CASCADE);
    item.setText("Run GC");
    item.addListener(SWT.Selection, new Listener() {
      public void handleEvent(Event event) {
        System.gc();
      }
    });
   
    item = new MenuItem(menuDebug, SWT.PUSH);
    item.setText("&CoreReq");
    item.addListener(SWT.Selection, new Listener() {
      public void handleEvent(Event event) {
        CoreWaiterSWT.waitForCoreRunning(new AzureusCoreRunningListener() {
          public void azureusCoreRunning(AzureusCore core) {
            new MessageBoxShell(0, "Done", "Core Now Avail").open(null);
          }
        });
      }
    });
   
   

    /*
    item = new MenuItem(menuDebug, SWT.CASCADE);
    item.setText("Subscriptions");
    Menu menuSubscriptions = new Menu(menuDebug.getParent(), SWT.DROP_DOWN);
    item.setMenu(menuSubscriptions);

    item = new MenuItem(menuSubscriptions, SWT.NONE);
    item.setText("Create RSS Feed");
    item.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent e) {
        final Shell shell = new Shell(uiFunctions.getMainShell());
        shell.setLayout(new FormLayout());
       
        Label label = new Label(shell,SWT.NONE);
        label.setText("RSS Feed URL :");
        final Text urlText = new Text(shell,SWT.BORDER);
        urlText.setText(Utils.getLinkFromClipboard(shell.getDisplay(),false));
        Label separator = new Label(shell,SWT.SEPARATOR | SWT.HORIZONTAL);
        Button cancel = new Button(shell,SWT.PUSH);
        cancel.setText("Cancel");
        Button ok = new Button(shell,SWT.PUSH);
        ok.setText("Ok");
       
        FormData data;
       
        data = new FormData();
        data.left = new FormAttachment(0,5);
        data.right = new FormAttachment(100,-5);
        data.top = new FormAttachment(0,5);
        label.setLayoutData(data);
       
        data = new FormData();
        data.left = new FormAttachment(0,5);
        data.right = new FormAttachment(100,-5);
        data.top = new FormAttachment(label);
        data.width = 400;
        urlText.setLayoutData(data);
       
        data = new FormData();
        data.left = new FormAttachment(0,5);
        data.right = new FormAttachment(100,-5);
        data.top = new FormAttachment(urlText);
        separator.setLayoutData(data);
       
        data = new FormData();
        data.right = new FormAttachment(ok);
        data.width = 100;
        data.top = new FormAttachment(separator);
        cancel.setLayoutData(data);
       
        data = new FormData();
        data.right = new FormAttachment(100,-5);
        data.width = 100;
        data.top = new FormAttachment(separator);
        ok.setLayoutData(data);
       
        cancel.addListener(SWT.Selection, new Listener() {
          public void handleEvent(Event arg0) {
            shell.dispose();
          }
        });
       
        ok.addListener(SWT.Selection, new Listener() {
          public void handleEvent(Event arg0) {
            String url_str = urlText.getText();
            shell.dispose();
           
            try{
              URL  url = new URL( url_str );
             
              SubscriptionManagerFactory.getSingleton().createSingletonRSS( url_str, url, 120, true );
             
            }catch( Throwable e ){
             
              Debug.printStackTrace(e);
            }
          }
        });
       
        shell.pack();
       
       
        Utils.centerWindowRelativeTo(shell, uiFunctions.getMainShell());
       
        shell.open();
        shell.setFocus();
        urlText.setFocus();
       
       
      }
    });
     */

    item = new MenuItem(menuDebug, SWT.CASCADE);
    item.setText("DW");
    Menu menuBrowserTB = new Menu(menuDebug.getParent(), SWT.DROP_DOWN);
    item.setMenu(menuBrowserTB);

    item = new MenuItem(menuBrowserTB, SWT.NONE);
    item.setText("popup check");
    item.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent e) {
        boolean oldDebug = DonationWindow.DEBUG;
        DonationWindow.DEBUG = true;
        DonationWindow.checkForDonationPopup();
        DonationWindow.DEBUG = oldDebug;
      }
    });
    item = new MenuItem(menuBrowserTB, SWT.NONE);
    item.setText("show");
    item.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent e) {
        boolean oldDebug = DonationWindow.DEBUG;
        DonationWindow.DEBUG = true;
        DonationWindow.open(true, "debug");
        DonationWindow.DEBUG = oldDebug;
      }
    });

    item = new MenuItem(menuDebug, SWT.NONE);
    item.setText("Alerts");
    item.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent e) {
        String text = "This is a  long message with lots of information and "
            + "stuff you really should read.  Are you still reading? Good, because "
            + "reading <a href=\"http://moo.com\">stimulates</a> the mind.\n\nYeah Baby.";

        LogAlert logAlert = new LogAlert(true, LogAlert.AT_INFORMATION, "Simple");
        Logger.log(logAlert);
        logAlert = new LogAlert(true, LogAlert.AT_WARNING, text);
        logAlert.details = "Details: \n\n" + text;
        Logger.log(logAlert);
        logAlert = new LogAlert(true, LogAlert.AT_ERROR, "ShortText");
        logAlert.details = "Details";
        Logger.log(logAlert);
      }
    });

    item = new MenuItem(menuDebug, SWT.NONE);
    item.setText("MsgBox");
    item.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent e) {
        VuzeMessageBox box = new VuzeMessageBox("Title", "Text", new String[] { "Ok", "Cancel" }, 0);
        box.setListener(new VuzeMessageBoxListener() {
          public void shellReady(Shell shell, SWTSkinObjectContainer soExtra) {
            SWTSkin skin = soExtra.getSkin();
            skin.createSkinObject("dlg.generic.test", "dlg.generic.test", soExtra);
            skin.layout(soExtra);
            shell.layout(true, true);
          }
        });
        box.open(null);
      }
    });

    item = new MenuItem(menuDebug, SWT.CASCADE);
    item.setText("Size");
    Menu menuSize = new Menu(menuDebug.getParent(), SWT.DROP_DOWN);
    item.setMenu(menuSize);

    int[] sizes = {
      640, 430,
      800, 550,
      1024, 718,
      1280, 700,
    };
    for (int i = 0; i < sizes.length; i += 2) {
      final int x = sizes[i];
      final int y = sizes[i + 1];
      item = new MenuItem(menuSize, SWT.NONE);
      item.setText("" + x + "," + y);
      item.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
          UIFunctionsManagerSWT.getUIFunctionsSWT().getMainShell().setSize(x, y);
        }
      });
    }
   
   
    return item;
  }
}
TOP

Related Classes of com.aelitis.azureus.ui.swt.shells.main.DebugMenuHelper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.