INTERFACE
	CLASS: QskSetup
	BASE: QObject
	
    HEADER: QskSetup.h

	DESCRIPTION
		\brief Singleton maintaining the global settings of an application using Qsk controls
	END

	ENUM
		CLASS: Flag
		QMLCLASS: Flag

		DESCRIPTION
			\var ClipBoundary
			\var DeferredUpdate
			\var DeferredPolish
			\var DeferredLayout
			\var CleanupOnVisibility
			\var PreferRasterForTextures
			\var DebugForceBackground
			\var DebugSkinColors
		END
	END

	PROPERTY
		NAME: skin
		TYPE: QskSkin*

		READ: skin()
		WRITE: setSkin()
		NOTIFY: skinChanged()
	END
	
    FUNCTION
        SIGNATURE: void setup()
        DESCRIPTION
        END
    END

    FUNCTION
        SIGNATURE: void cleanup()
        DESCRIPTION
        END
    END

    FUNCTION
        SIGNATURE: QskSetup* instance();
        DESCRIPTION
			\sa qskSetup()
        END
    END

	FUNCTION
		SIGNATURE: void setSkin( QskSkin* );
        DESCRIPTION
		END
	END

    FUNCTION
        SIGNATURE: QskSkin* skin();
        DESCRIPTION
        END
    END 

	SIGNAL
		SIGNATURE: void skinChanged( QskSkin* );
        DESCRIPTION
        END
	END

    SIGNAL
        SIGNATURE: void controlFlagsChanged();
        DESCRIPTION
        END
    END

    FUNCTION
        SIGNATURE: QskSkinlet* skinlet( const QskControl* );
        DESCRIPTION
        END
    END

	INVOKABLE
		SIGNATURE: void setControlFlags( Flags );
		DESCRIPTION
		END
	END

	INVOKABLE
		SIGNATURE: void resetControlFlags();
		DESCRIPTION
		END
	END

	INVOKABLE
		SIGNATURE: Flags controlFlags() const;
		DESCRIPTION
		END
	END

	INVOKABLE
		SIGNATURE: void setControlFlag( Flag, bool on = true );
		DESCRIPTION
		END
	END

    INVOKABLE
        SIGNATURE: void resetControlFlag( Flag );
        DESCRIPTION
        END
    END

    INVOKABLE
        SIGNATURE: bool testControlFlag( Flag );
        DESCRIPTION
        END
    END

END
