Bug 1047873 - Flatten xpfe/appshell/{public,src}/ directories. r=Neil
This commit is contained in:
166
xpfe/appshell/nsAppShellWindowEnumerator.h
Normal file
166
xpfe/appshell/nsAppShellWindowEnumerator.h
Normal file
@@ -0,0 +1,166 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef nsAppShellWindowEnumerator_h
|
||||
#define nsAppShellWindowEnumerator_h
|
||||
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsString.h"
|
||||
|
||||
#include "nsISimpleEnumerator.h"
|
||||
#include "nsIXULWindow.h"
|
||||
|
||||
class nsWindowMediator;
|
||||
|
||||
//
|
||||
// nsWindowInfo
|
||||
//
|
||||
|
||||
struct nsWindowInfo
|
||||
{
|
||||
nsWindowInfo(nsIXULWindow* inWindow, int32_t inTimeStamp);
|
||||
~nsWindowInfo();
|
||||
|
||||
nsCOMPtr<nsIXULWindow> mWindow;
|
||||
int32_t mTimeStamp;
|
||||
uint32_t mZLevel;
|
||||
|
||||
// each struct is in two, independent, circular, doubly-linked lists
|
||||
nsWindowInfo *mYounger, // next younger in sequence
|
||||
*mOlder;
|
||||
nsWindowInfo *mLower, // next lower in z-order
|
||||
*mHigher;
|
||||
|
||||
bool TypeEquals(const nsAString &aType);
|
||||
void InsertAfter(nsWindowInfo *inOlder, nsWindowInfo *inHigher);
|
||||
void Unlink(bool inAge, bool inZ);
|
||||
void ReferenceSelf(bool inAge, bool inZ);
|
||||
};
|
||||
|
||||
//
|
||||
// virtual enumerators
|
||||
//
|
||||
|
||||
class nsAppShellWindowEnumerator : public nsISimpleEnumerator {
|
||||
|
||||
friend class nsWindowMediator;
|
||||
|
||||
public:
|
||||
nsAppShellWindowEnumerator(const char16_t* aTypeString,
|
||||
nsWindowMediator& inMediator);
|
||||
NS_IMETHOD GetNext(nsISupports **retval) = 0;
|
||||
NS_IMETHOD HasMoreElements(bool *retval);
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
protected:
|
||||
|
||||
virtual ~nsAppShellWindowEnumerator();
|
||||
|
||||
void AdjustInitialPosition();
|
||||
virtual nsWindowInfo *FindNext() = 0;
|
||||
|
||||
void WindowRemoved(nsWindowInfo *inInfo);
|
||||
|
||||
nsWindowMediator *mWindowMediator;
|
||||
nsString mType;
|
||||
nsWindowInfo *mCurrentPosition;
|
||||
};
|
||||
|
||||
class nsASDOMWindowEnumerator : public nsAppShellWindowEnumerator {
|
||||
|
||||
public:
|
||||
nsASDOMWindowEnumerator(const char16_t* aTypeString,
|
||||
nsWindowMediator& inMediator);
|
||||
virtual ~nsASDOMWindowEnumerator();
|
||||
NS_IMETHOD GetNext(nsISupports **retval);
|
||||
};
|
||||
|
||||
class nsASXULWindowEnumerator : public nsAppShellWindowEnumerator {
|
||||
|
||||
public:
|
||||
nsASXULWindowEnumerator(const char16_t* aTypeString,
|
||||
nsWindowMediator& inMediator);
|
||||
virtual ~nsASXULWindowEnumerator();
|
||||
NS_IMETHOD GetNext(nsISupports **retval);
|
||||
};
|
||||
|
||||
//
|
||||
// concrete enumerators
|
||||
//
|
||||
|
||||
class nsASDOMWindowEarlyToLateEnumerator : public nsASDOMWindowEnumerator {
|
||||
|
||||
public:
|
||||
nsASDOMWindowEarlyToLateEnumerator(const char16_t* aTypeString,
|
||||
nsWindowMediator& inMediator);
|
||||
|
||||
virtual ~nsASDOMWindowEarlyToLateEnumerator();
|
||||
|
||||
protected:
|
||||
virtual nsWindowInfo *FindNext();
|
||||
};
|
||||
|
||||
class nsASXULWindowEarlyToLateEnumerator : public nsASXULWindowEnumerator {
|
||||
|
||||
public:
|
||||
nsASXULWindowEarlyToLateEnumerator(const char16_t* aTypeString,
|
||||
nsWindowMediator& inMediator);
|
||||
|
||||
virtual ~nsASXULWindowEarlyToLateEnumerator();
|
||||
|
||||
protected:
|
||||
virtual nsWindowInfo *FindNext();
|
||||
};
|
||||
|
||||
class nsASDOMWindowFrontToBackEnumerator : public nsASDOMWindowEnumerator {
|
||||
|
||||
public:
|
||||
nsASDOMWindowFrontToBackEnumerator(const char16_t* aTypeString,
|
||||
nsWindowMediator& inMediator);
|
||||
|
||||
virtual ~nsASDOMWindowFrontToBackEnumerator();
|
||||
|
||||
protected:
|
||||
virtual nsWindowInfo *FindNext();
|
||||
};
|
||||
|
||||
class nsASXULWindowFrontToBackEnumerator : public nsASXULWindowEnumerator {
|
||||
|
||||
public:
|
||||
nsASXULWindowFrontToBackEnumerator(const char16_t* aTypeString,
|
||||
nsWindowMediator& inMediator);
|
||||
|
||||
virtual ~nsASXULWindowFrontToBackEnumerator();
|
||||
|
||||
protected:
|
||||
virtual nsWindowInfo *FindNext();
|
||||
};
|
||||
|
||||
class nsASDOMWindowBackToFrontEnumerator : public nsASDOMWindowEnumerator {
|
||||
|
||||
public:
|
||||
nsASDOMWindowBackToFrontEnumerator(const char16_t* aTypeString,
|
||||
nsWindowMediator& inMediator);
|
||||
|
||||
virtual ~nsASDOMWindowBackToFrontEnumerator();
|
||||
|
||||
protected:
|
||||
virtual nsWindowInfo *FindNext();
|
||||
};
|
||||
|
||||
class nsASXULWindowBackToFrontEnumerator : public nsASXULWindowEnumerator {
|
||||
|
||||
public:
|
||||
nsASXULWindowBackToFrontEnumerator(const char16_t* aTypeString,
|
||||
nsWindowMediator& inMediator);
|
||||
|
||||
virtual ~nsASXULWindowBackToFrontEnumerator();
|
||||
|
||||
protected:
|
||||
virtual nsWindowInfo *FindNext();
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user