// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __javax_swing_plaf_basic_BasicInternalFrameTitlePane__
#define __javax_swing_plaf_basic_BasicInternalFrameTitlePane__

#pragma interface

#include <javax/swing/JComponent.h>

extern "Java"
{
  namespace java
  {
    namespace beans
    {
      class PropertyChangeListener;
    }
    namespace awt
    {
      class LayoutManager;
      class FontMetrics;
      class Graphics;
      class Color;
    }
  }
  namespace javax
  {
    namespace swing
    {
      namespace plaf
      {
        namespace basic
        {
          class BasicInternalFrameTitlePane;
        }
      }
      class JLabel;
      class JMenu;
      class JMenuBar;
      class JInternalFrame;
      class Icon;
      class JButton;
      class Action;
    }
  }
}

class javax::swing::plaf::basic::BasicInternalFrameTitlePane : public ::javax::swing::JComponent
{
public:
  BasicInternalFrameTitlePane (::javax::swing::JInternalFrame *);
public:  // actually protected
  virtual void installTitlePane ();
  virtual void addSubComponents ();
  virtual void createActions ();
  virtual void installListeners ();
  virtual void uninstallListeners ();
  virtual void installDefaults ();
  virtual void uninstallDefaults ();
  virtual void createButtons ();
  virtual void setButtonIcons ();
  virtual void assembleSystemMenu ();
  virtual void addSystemMenuItems (::javax::swing::JMenu *);
  virtual ::javax::swing::JMenuBar *createSystemMenuBar ();
  virtual ::javax::swing::JMenu *createSystemMenu ();
  virtual void showSystemMenu ();
public:
  virtual void paintComponent (::java::awt::Graphics *);
public:  // actually protected
  virtual void paintTitleBackground (::java::awt::Graphics *);
  virtual ::java::lang::String *getTitle (::java::lang::String *, ::java::awt::FontMetrics *, jint);
  virtual void postClosingEvent (::javax::swing::JInternalFrame *) { }
  virtual void enableActions ();
  virtual ::java::beans::PropertyChangeListener *createPropertyChangeListener ();
  virtual ::java::awt::LayoutManager *createLayout ();
  static ::java::lang::String *CLOSE_CMD;
  static ::java::lang::String *ICONIFY_CMD;
  static ::java::lang::String *MAXIMIZE_CMD;
  static ::java::lang::String *MOVE_CMD;
  static ::java::lang::String *RESTORE_CMD;
  static ::java::lang::String *SIZE_CMD;
  ::javax::swing::Action * __attribute__((aligned(__alignof__( ::javax::swing::JComponent )))) closeAction;
  ::javax::swing::Action *iconifyAction;
  ::javax::swing::Action *maximizeAction;
  ::javax::swing::Action *moveAction;
  ::javax::swing::Action *restoreAction;
  ::javax::swing::Action *sizeAction;
  ::javax::swing::JButton *closeButton;
  ::javax::swing::JButton *iconButton;
  ::javax::swing::JButton *maxButton;
  ::javax::swing::Icon *minIcon;
  ::javax::swing::Icon *maxIcon;
  ::javax::swing::Icon *iconIcon;
  ::javax::swing::Icon *closeIcon;
  ::javax::swing::JInternalFrame *frame;
  ::javax::swing::JMenuBar *menuBar;
  ::javax::swing::JMenu *windowMenu;
  ::java::awt::Color *notSelectedTextColor;
  ::java::awt::Color *notSelectedTitleColor;
  ::java::awt::Color *selectedTextColor;
  ::java::awt::Color *selectedTitleColor;
  ::java::beans::PropertyChangeListener *propertyChangeListener;
public: // actually package-private
  ::javax::swing::JLabel *title;

  friend class javax_swing_plaf_basic_BasicInternalFrameTitlePane$PaneButton;
  friend class javax_swing_plaf_basic_BasicInternalFrameTitlePane$TitlePaneLayout;
  friend class javax_swing_plaf_basic_BasicInternalFrameTitlePane$SystemMenuBar;
  friend class javax_swing_plaf_basic_BasicInternalFrameTitlePane$PropertyChangeHandler;
  friend class javax_swing_plaf_basic_BasicInternalFrameTitlePane$SizeAction;
  friend class javax_swing_plaf_basic_BasicInternalFrameTitlePane$RestoreAction;
  friend class javax_swing_plaf_basic_BasicInternalFrameTitlePane$MoveAction;
  friend class javax_swing_plaf_basic_BasicInternalFrameTitlePane$MaximizeAction;
  friend class javax_swing_plaf_basic_BasicInternalFrameTitlePane$IconifyAction;
  friend class javax_swing_plaf_basic_BasicInternalFrameTitlePane$CloseAction;
public:

  static ::java::lang::Class class$;
};

#endif /* __javax_swing_plaf_basic_BasicInternalFrameTitlePane__ */
