Package org.dyno.visual.swing.widgets.menucontext

Source Code of org.dyno.visual.swing.widgets.menucontext.JPanelMenuContext

package org.dyno.visual.swing.widgets.menucontext;

import java.awt.Component;
import java.awt.LayoutManager;

import javax.swing.JPanel;

import org.dyno.visual.swing.plugin.spi.CompositeAdapter;
import org.dyno.visual.swing.plugin.spi.LayoutAdapter;
import org.dyno.visual.swing.widgets.JPanelAdapter;
import org.dyno.visual.swing.widgets.Messages;
import org.dyno.visual.swing.widgets.actions.NullLayoutAction;
import org.dyno.visual.swing.widgets.actions.SetLayoutAction;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.MenuManager;

public class JPanelMenuContext extends JComponentMenuContext {

  @Override
  public void fillContextAction(MenuManager menu) {
    super.fillContextAction(menu);
    fillSetLayoutAction(menu);
  }

  public void fillSetLayoutAction(MenuManager menu) {
    MenuManager layoutMenu = new MenuManager(Messages.JPanelAdapter_Set_Layout, "#SET_LAYOUT"); //$NON-NLS-2$
    fillLayoutAction(layoutMenu);
    menu.add(layoutMenu);
  }

  @Override
  public void fillConstraintsAction(MenuManager menu, Component child) {
    JPanel jpanel = (JPanel) adaptable.getWidget();
    LayoutManager layout = jpanel.getLayout();
    if (layout != null)
      ((CompositeAdapter)adaptable).getLayoutAdapter().fillConstraintsAction(menu, child);
  }

  private void fillLayoutAction(MenuManager layoutMenu) {
    Action nullLayoutAction = new NullLayoutAction((JPanelAdapter)adaptable);
    JPanel jpanel = (JPanel) adaptable.getWidget();
    LayoutManager layout = jpanel.getLayout();
    if (layout == null)
      nullLayoutAction.setChecked(true);
    layoutMenu.add(nullLayoutAction);
    for (String layoutClass : LayoutAdapter.getLayoutClasses()) {
      IConfigurationElement config = LayoutAdapter
          .getLayoutConfig(layoutClass);
      SetLayoutAction action = new SetLayoutAction((JPanelAdapter)adaptable, config);
      if (layout != null) {
        String currLayoutClass = layout.getClass().getName();
        if (currLayoutClass.equals(layoutClass)) {
          action.setChecked(true);
        }
      }
      layoutMenu.add(action);
    }
  }
}
TOP

Related Classes of org.dyno.visual.swing.widgets.menucontext.JPanelMenuContext

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.