< prev index next >

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

Print this page

        

*** 204,216 **** int AwtChoice::GetDropDownHeight() { int itemHeight =(int)::SendMessage(GetHWnd(), CB_GETITEMHEIGHT, (UINT)0,0); int numItemsToShow = (int)::SendMessage(GetHWnd(), CB_GETCOUNT, 0,0); numItemsToShow = min(MINIMUM_NUMBER_OF_VISIBLE_ITEMS, numItemsToShow); // drop-down height snaps to nearest line, so add a // fudge factor of 1/2 line to ensure last line shows ! return itemHeight*numItemsToShow + itemHeight/2; } // get the height of the field portion of the combobox int AwtChoice::GetFieldHeight() { --- 204,217 ---- int AwtChoice::GetDropDownHeight() { int itemHeight =(int)::SendMessage(GetHWnd(), CB_GETITEMHEIGHT, (UINT)0,0); int numItemsToShow = (int)::SendMessage(GetHWnd(), CB_GETCOUNT, 0,0); numItemsToShow = min(MINIMUM_NUMBER_OF_VISIBLE_ITEMS, numItemsToShow); + // drop-down height snaps to nearest line, so add a // fudge factor of 1/2 line to ensure last line shows ! return ScaleDownY(itemHeight * numItemsToShow + itemHeight / 2); } // get the height of the field portion of the combobox int AwtChoice::GetFieldHeight() {
*** 219,229 **** fieldHeight =(int)::SendMessage(GetHWnd(), CB_GETITEMHEIGHT, (UINT)-1, 0); // add top and bottom border lines; border size is different for // Win 4.x (3d edge) vs 3.x (1 pixel line) borderHeight = ::GetSystemMetrics(SM_CYEDGE); fieldHeight += borderHeight*2; ! return fieldHeight; } // gets the total height of the combobox, including drop down int AwtChoice::GetTotalHeight() { --- 220,230 ---- fieldHeight =(int)::SendMessage(GetHWnd(), CB_GETITEMHEIGHT, (UINT)-1, 0); // add top and bottom border lines; border size is different for // Win 4.x (3d edge) vs 3.x (1 pixel line) borderHeight = ::GetSystemMetrics(SM_CYEDGE); fieldHeight += borderHeight*2; ! return ScaleDownY(fieldHeight); } // gets the total height of the combobox, including drop down int AwtChoice::GetTotalHeight() {
*** 323,334 **** /* Bug 4255631 Solaris: Size returned by Choice.getSize() does not match * actual size * Fix: Set the Choice to its actual size in the component. */ ::GetClientRect(GetHWnd(), &rc); ! env->SetIntField(target, AwtComponent::widthID, (jint)rc.right); ! env->SetIntField(target, AwtComponent::heightID, (jint)rc.bottom); env->DeleteLocalRef(target); env->DeleteLocalRef(parent); } --- 324,335 ---- /* Bug 4255631 Solaris: Size returned by Choice.getSize() does not match * actual size * Fix: Set the Choice to its actual size in the component. */ ::GetClientRect(GetHWnd(), &rc); ! env->SetIntField(target, AwtComponent::widthID, ScaleDownX(rc.right)); ! env->SetIntField(target, AwtComponent::heightID, ScaleDownY(rc.bottom)); env->DeleteLocalRef(target); env->DeleteLocalRef(parent); }
< prev index next >