55 static jfieldID handleID; 56 57 static jmethodID setExtendedStateMID; 58 static jmethodID getExtendedStateMID; 59 60 /* method id for WEmbeddedFrame.requestActivate() method */ 61 static jmethodID activateEmbeddingTopLevelMID; 62 63 AwtFrame(); 64 virtual ~AwtFrame(); 65 66 virtual void Dispose(); 67 68 virtual LPCTSTR GetClassName(); 69 70 /* Create a new AwtFrame. This must be run on the main thread. */ 71 static AwtFrame* Create(jobject self, jobject parent); 72 73 /* Returns whether this frame is embedded in an external native frame. */ 74 INLINE BOOL IsEmbeddedFrame() { return m_isEmbedded; } 75 76 INLINE BOOL IsSimpleWindow() { return FALSE; } 77 78 /* Returns whether this window is in iconified state. */ 79 INLINE BOOL isIconic() { return m_iconic; } 80 INLINE void setIconic(BOOL b) { m_iconic = b; } 81 82 /* Returns whether this window is in zoomed state. */ 83 INLINE BOOL isZoomed() { return m_zoomed; } 84 INLINE void setZoomed(BOOL b) { m_zoomed = b; } 85 86 void SendWindowStateEvent(int oldState, int newState); 87 88 void Show(); 89 90 INLINE void DrawMenuBar() { VERIFY(::DrawMenuBar(GetHWnd())); } 91 92 virtual void DoUpdateIcon(); 93 virtual HICON GetEffectiveIcon(int iconType); 94 152 153 INLINE HWND GetImeTargetComponent() { return m_imeTargetComponent; } 154 INLINE void SetImeTargetComponent(HWND hwnd) { m_imeTargetComponent = hwnd; } 155 156 protected: 157 /* The frame is undecorated. */ 158 BOOL m_isUndecorated; 159 160 private: 161 LRESULT ProxyWindowProc(UINT message, WPARAM wParam, LPARAM lParam, MsgRouting &mr); 162 163 /* The frame's embedding parent (if any) */ 164 HWND m_parentWnd; 165 166 /* The frame's menubar. */ 167 AwtMenuBar* menuBar; 168 169 /* The frame is an EmbeddedFrame. */ 170 BOOL m_isEmbedded; 171 172 /* used so that calls to ::MoveWindow in SetMenuBar don't propogate 173 because they are immediately followed by calls to Component.resize */ 174 BOOL m_ignoreWmSize; 175 176 /* tracks whether or not menu on this frame is dropped down */ 177 BOOL m_isMenuDropped; 178 179 /* The frame is an InputMethodWindow */ 180 BOOL m_isInputMethodWindow; 181 182 // retains the target component for the IME messages 183 HWND m_imeTargetComponent; 184 185 /* 186 * Fix for 4823903. 187 * Retains a focus proxied window to set the focus correctly 188 * when its owner get activated. 189 */ 190 AwtWindow *m_actualFocusedWindow; 191 | 55 static jfieldID handleID; 56 57 static jmethodID setExtendedStateMID; 58 static jmethodID getExtendedStateMID; 59 60 /* method id for WEmbeddedFrame.requestActivate() method */ 61 static jmethodID activateEmbeddingTopLevelMID; 62 63 AwtFrame(); 64 virtual ~AwtFrame(); 65 66 virtual void Dispose(); 67 68 virtual LPCTSTR GetClassName(); 69 70 /* Create a new AwtFrame. This must be run on the main thread. */ 71 static AwtFrame* Create(jobject self, jobject parent); 72 73 /* Returns whether this frame is embedded in an external native frame. */ 74 INLINE BOOL IsEmbeddedFrame() { return m_isEmbedded; } 75 /* Returns whether this frame is lightweight. */ 76 INLINE virtual BOOL IsLightweightFrame() { return m_isLightweight; } 77 78 INLINE BOOL IsSimpleWindow() { return FALSE; } 79 80 /* Returns whether this window is in iconified state. */ 81 INLINE BOOL isIconic() { return m_iconic; } 82 INLINE void setIconic(BOOL b) { m_iconic = b; } 83 84 /* Returns whether this window is in zoomed state. */ 85 INLINE BOOL isZoomed() { return m_zoomed; } 86 INLINE void setZoomed(BOOL b) { m_zoomed = b; } 87 88 void SendWindowStateEvent(int oldState, int newState); 89 90 void Show(); 91 92 INLINE void DrawMenuBar() { VERIFY(::DrawMenuBar(GetHWnd())); } 93 94 virtual void DoUpdateIcon(); 95 virtual HICON GetEffectiveIcon(int iconType); 96 154 155 INLINE HWND GetImeTargetComponent() { return m_imeTargetComponent; } 156 INLINE void SetImeTargetComponent(HWND hwnd) { m_imeTargetComponent = hwnd; } 157 158 protected: 159 /* The frame is undecorated. */ 160 BOOL m_isUndecorated; 161 162 private: 163 LRESULT ProxyWindowProc(UINT message, WPARAM wParam, LPARAM lParam, MsgRouting &mr); 164 165 /* The frame's embedding parent (if any) */ 166 HWND m_parentWnd; 167 168 /* The frame's menubar. */ 169 AwtMenuBar* menuBar; 170 171 /* The frame is an EmbeddedFrame. */ 172 BOOL m_isEmbedded; 173 174 /* The frame is a LightweightFrame */ 175 BOOL m_isLightweight; 176 177 /* used so that calls to ::MoveWindow in SetMenuBar don't propogate 178 because they are immediately followed by calls to Component.resize */ 179 BOOL m_ignoreWmSize; 180 181 /* tracks whether or not menu on this frame is dropped down */ 182 BOOL m_isMenuDropped; 183 184 /* The frame is an InputMethodWindow */ 185 BOOL m_isInputMethodWindow; 186 187 // retains the target component for the IME messages 188 HWND m_imeTargetComponent; 189 190 /* 191 * Fix for 4823903. 192 * Retains a focus proxied window to set the focus correctly 193 * when its owner get activated. 194 */ 195 AwtWindow *m_actualFocusedWindow; 196 |