/*
 * Copyright (c) 2009 Kathryn Huxtable and Kenneth Orr.
 *
 * This file is part of the SeaGlass Pluggable Look and Feel.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 * $Id$
 */
package com.seaglass.state;

import java.awt.Component;

import javax.swing.JComponent;
import javax.swing.JInternalFrame;


/**
 */
public class TitlePaneMaximizeButtonWindowMaximizedState extends State {
    public TitlePaneMaximizeButtonWindowMaximizedState() {
        super("WindowMaximized");
    }

    protected boolean isInState(JComponent c) {
        Component parent = c;
        while (parent.getParent() != null) {
            if (parent instanceof JInternalFrame) {
                break;
            }
            parent = parent.getParent();
        }
        if (parent instanceof JInternalFrame) {
            return ((JInternalFrame) parent).isMaximum();
        }
        return false;
    }
}

@@ -746,16 +746,39 @@
 mponent;
+%0Aimport java.awt.Frame;
 %0A%0Aimport
@@ -794,32 +794,59 @@
 ing.JComponent;%0A
+import javax.swing.JFrame;%0A
 import javax.swi
@@ -864,17 +864,54 @@
 lFrame;%0A
+import javax.swing.RootPaneContainer;
 %0A
-
 %0A/**%0A */
@@ -1237,38 +1237,41 @@
  instanceof 
-JInternalFrame
+RootPaneContainer
 ) %7B%0A        
@@ -1342,32 +1342,32 @@
 nt();%0A        %7D%0A
-
         if (pare
@@ -1380,16 +1380,150 @@
 tanceof 
+JFrame) %7B%0A            return (((JFrame) parent).getExtendedState() & Frame.MAXIMIZED_BOTH) != 0;%0A        %7D else if (parent instanceof 
 JInterna

Make maximize button state handle top-level frame title panes.