< prev index next >

src/java.desktop/windows/native/libawt/windows/awt_Component.cpp

Print this page




4041 
4042 HIMC AwtComponent::ImmAssociateContext(HIMC himc)
4043 {
4044     return ::ImmAssociateContext(ImmGetHWnd(), himc);
4045 }
4046 
4047 HWND AwtComponent::GetProxyFocusOwner()
4048 {
4049     AwtWindow *window = GetContainer();
4050     if (window != 0) {
4051         AwtFrame *owner = window->GetOwningFrameOrDialog();
4052         if (owner != 0) {
4053             return owner->GetProxyFocusOwner();
4054         } else if (!window->IsSimpleWindow()) { // isn't an owned simple window
4055             return ((AwtFrame*)window)->GetProxyFocusOwner();
4056         }
4057     }
4058     return (HWND)NULL;
4059 }
4060 
4061 /* Call DefWindowProc for the focus proxy, if any */
4062 void AwtComponent::CallProxyDefWindowProc(UINT message, WPARAM wParam,
4063     LPARAM lParam, LRESULT &retVal, MsgRouting &mr)
4064 {
4065     if (mr != mrConsume)  {
4066         HWND proxy = GetProxyFocusOwner();
4067         if (proxy != NULL && ::IsWindowEnabled(proxy)) {
4068             retVal = ComCtl32Util::GetInstance().DefWindowProc(NULL, proxy, message, wParam, lParam);





4069             mr = mrConsume;
4070         }
4071     }
4072 }
4073 
4074 MsgRouting AwtComponent::WmCommand(UINT id, HWND hWndChild, UINT notifyCode)
4075 {
4076     /* Menu/Accelerator */
4077     if (hWndChild == 0) {
4078         AwtObject* obj = AwtToolkit::GetInstance().LookupCmdID(id);
4079         if (obj == NULL) {
4080             return mrConsume;
4081         }
4082         DASSERT(((AwtMenuItem*)obj)->GetID() == id);
4083         obj->DoCommand();
4084         return mrConsume;
4085     }
4086     /* Child id notification */
4087     else {
4088         AwtComponent* child = AwtComponent::GetComponent(hWndChild);




4041 
4042 HIMC AwtComponent::ImmAssociateContext(HIMC himc)
4043 {
4044     return ::ImmAssociateContext(ImmGetHWnd(), himc);
4045 }
4046 
4047 HWND AwtComponent::GetProxyFocusOwner()
4048 {
4049     AwtWindow *window = GetContainer();
4050     if (window != 0) {
4051         AwtFrame *owner = window->GetOwningFrameOrDialog();
4052         if (owner != 0) {
4053             return owner->GetProxyFocusOwner();
4054         } else if (!window->IsSimpleWindow()) { // isn't an owned simple window
4055             return ((AwtFrame*)window)->GetProxyFocusOwner();
4056         }
4057     }
4058     return (HWND)NULL;
4059 }
4060 
4061 /* Redirects message to the focus proxy, if any */
4062 void AwtComponent::CallProxyDefWindowProc(UINT message, WPARAM wParam,
4063     LPARAM lParam, LRESULT &retVal, MsgRouting &mr)
4064 {
4065     if (mr != mrConsume)  {
4066         HWND proxy = GetProxyFocusOwner();
4067         if (proxy != NULL && ::IsWindowEnabled(proxy)) {
4068             if (proxy != GetHWnd()) {
4069                 retVal = ::SendMessage(proxy, message, wParam, lParam);
4070             } else {
4071                 retVal = ComCtl32Util::GetInstance().DefWindowProc(NULL,
4072                                                 proxy, message, wParam, lParam);
4073             }
4074             mr = mrConsume;
4075         }
4076     }
4077 }
4078 
4079 MsgRouting AwtComponent::WmCommand(UINT id, HWND hWndChild, UINT notifyCode)
4080 {
4081     /* Menu/Accelerator */
4082     if (hWndChild == 0) {
4083         AwtObject* obj = AwtToolkit::GetInstance().LookupCmdID(id);
4084         if (obj == NULL) {
4085             return mrConsume;
4086         }
4087         DASSERT(((AwtMenuItem*)obj)->GetID() == id);
4088         obj->DoCommand();
4089         return mrConsume;
4090     }
4091     /* Child id notification */
4092     else {
4093         AwtComponent* child = AwtComponent::GetComponent(hWndChild);


< prev index next >