When per-monitor DPI is used, the default button size depends on the DPI of the display. Use the window to determine this DPI.
		
			
				
	
	
		
			76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        src/qt/button.cpp
 | 
						|
// Author:      Peter Most, Mariano Reingart
 | 
						|
// Copyright:   (c) 2010 wxWidgets dev team
 | 
						|
// Licence:     wxWindows licence
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
// For compilers that support precompilation, includes "wx.h".
 | 
						|
#include "wx/wxprec.h"
 | 
						|
 | 
						|
#ifdef __BORLANDC__
 | 
						|
    #pragma hdrstop
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef WX_PRECOMP
 | 
						|
    #include "wx/bitmap.h"
 | 
						|
#endif // WX_PRECOMP
 | 
						|
 | 
						|
#include "wx/button.h"
 | 
						|
#include "wx/stockitem.h"
 | 
						|
#include "wx/qt/private/utils.h"
 | 
						|
#include "wx/qt/private/winevent.h"
 | 
						|
 | 
						|
#include <QtWidgets/QPushButton>
 | 
						|
 | 
						|
wxButton::wxButton()
 | 
						|
{
 | 
						|
}
 | 
						|
 | 
						|
wxButton::wxButton(wxWindow *parent, wxWindowID id,
 | 
						|
       const wxString& label,
 | 
						|
       const wxPoint& pos,
 | 
						|
       const wxSize& size, long style,
 | 
						|
       const wxValidator& validator,
 | 
						|
       const wxString& name )
 | 
						|
{
 | 
						|
    Create( parent, id, label, pos, size, style, validator, name );
 | 
						|
}
 | 
						|
 | 
						|
bool wxButton::Create(wxWindow *parent, wxWindowID id,
 | 
						|
       const wxString& label,
 | 
						|
       const wxPoint& pos,
 | 
						|
       const wxSize& size, long style,
 | 
						|
       const wxValidator& validator,
 | 
						|
       const wxString& name )
 | 
						|
{
 | 
						|
    QtCreate(parent);
 | 
						|
    SetLabel( label.IsEmpty() && wxIsStockID( id ) ? wxGetStockLabel( id ) : label );
 | 
						|
 | 
						|
    return QtCreateControl( parent, id, pos, size, style, validator, name );
 | 
						|
}
 | 
						|
 | 
						|
wxWindow *wxButton::SetDefault()
 | 
						|
{
 | 
						|
    wxWindow *oldDefault = wxButtonBase::SetDefault();
 | 
						|
 | 
						|
    m_qtPushButton->setDefault( true );
 | 
						|
 | 
						|
    return oldDefault;
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
/* static */
 | 
						|
wxSize wxButtonBase::GetDefaultSize(wxWindow* WXUNUSED(win))
 | 
						|
{
 | 
						|
    static wxSize size = wxDefaultSize;
 | 
						|
    if (size == wxDefaultSize)
 | 
						|
    {
 | 
						|
        // Default size of buttons should be same as size of stock
 | 
						|
        // buttons as used in most GTK+ apps. (currently this is aproximate)
 | 
						|
        QPushButton btn;
 | 
						|
        size = wxQtConvertSize(btn.sizeHint());
 | 
						|
    }
 | 
						|
    return size;
 | 
						|
}
 |