Package com.eviware.soapui

Source Code of com.eviware.soapui.StandaloneSoapUICore

/*
*  soapUI, copyright (C) 2004-2011 eviware.com
*
*  soapUI is free software; you can redistribute it and/or modify it under the
*  terms of version 2.1 of the GNU Lesser General Public License as published by
*  the Free Software Foundation.
*
*  soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
*  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*  See the GNU Lesser General Public License for more details at gnu.org.
*/

package com.eviware.soapui;

import java.awt.Color;
import java.awt.Insets;

import javax.swing.ToolTipManager;
import javax.swing.UIManager;
import javax.swing.plaf.ColorUIResource;

import com.eviware.soapui.settings.UISettings;
import com.eviware.soapui.ui.desktop.DesktopRegistry;
import com.eviware.soapui.ui.desktop.standalone.StandaloneDesktopFactory;
import com.jgoodies.looks.plastic.PlasticXPLookAndFeel;
import com.jgoodies.looks.plastic.theme.SkyBluer;
import com.jniwrapper.PlatformContext;

public class StandaloneSoapUICore extends SwingSoapUICore
{

  public StandaloneSoapUICore( boolean init )
  {
    super();

    if( init )
      init( DEFAULT_SETTINGS_FILE );
  }

  public StandaloneSoapUICore( String settingsFile )
  {
    super( null, settingsFile );
  }

  public StandaloneSoapUICore( boolean init, boolean settingPassword, String soapUISettingsPassword )
  {
    super( true, soapUISettingsPassword );

    if( init )
      init( DEFAULT_SETTINGS_FILE );
  }

  public void prepareUI()
  {
    super.prepareUI();

    initSoapUILookAndFeel();
    DesktopRegistry.getInstance().addDesktop( SoapUI.DEFAULT_DESKTOP, new StandaloneDesktopFactory() );

    ToolTipManager.sharedInstance().setEnabled( !getSettings().getBoolean( UISettings.DISABLE_TOOLTIPS ) );
  }

  public void initSoapUILookAndFeel()
  {
    try
    {
      // TODO check for this silent mode detection?
      if( !SoapUI.isJXBrowserDisabled( true ) && PlatformContext.isMacOS() )
      {
        javax.swing.UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName() );
      }
      else if( getSettings().getBoolean( UISettings.NATIVE_LAF ) )
      {
        javax.swing.UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );
      }
      else
      {
        SoapUITheme theme = new SoapUITheme();

        PlasticXPLookAndFeel.setCurrentTheme( theme );
        PlasticXPLookAndFeel.setTabStyle( "Metal" );

        UIManager.setLookAndFeel( new PlasticXPLookAndFeel() );
        UIManager.put( "TabbedPane.tabAreaInsets", new Insets( 3, 2, 0, 0 ) );
        UIManager.put( "TabbedPane.unselectedBackground", new Color( 220, 220, 220 ) );
        UIManager.put( "TabbedPane.selected", new Color( 240, 240, 240 ) );

        PlasticXPLookAndFeel.setPlasticTheme( theme );
      }
    }
    catch( Throwable e )
    {
      System.err.println( "Error initializing PlasticXPLookAndFeel; " + e.getMessage() );
    }
  }

  /**
   * Adapted theme for soapUI Look and Feel
   *
   * @author ole.matzura
   */

  public static class SoapUITheme extends SkyBluer
  {
    public static final Color BACKGROUND_COLOR = new Color( 240, 240, 240 );

    public ColorUIResource getControl()
    {
      return new ColorUIResource( BACKGROUND_COLOR );
    }

    public ColorUIResource getMenuBackground()
    {
      return getControl();
    }

    public ColorUIResource getMenuItemBackground()
    {
      return new ColorUIResource( new Color( 248, 248, 248 ) );
    }
  }
}
TOP

Related Classes of com.eviware.soapui.StandaloneSoapUICore

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.