38 #include <wx/display.h>
47 entries[0].Set(wxACCEL_CMD, (
int)
'C', wxID_COPY);
48 entries[1].Set(wxACCEL_CMD, (
int)
'X', wxID_CUT);
49 entries[2].Set(wxACCEL_CMD, (
int)
'V', wxID_PASTE);
50 entries[3].Set(wxACCEL_CMD, (
int)
'A', wxID_SELECTALL);
51 entries[4].Set(wxACCEL_CMD, 384, wxID_COPY);
52 entries[5].Set(wxACCEL_SHIFT, 384, wxID_PASTE);
54 wxAcceleratorTable accel(6,
entries);
55 SetAcceleratorTable(accel);
80 auto parent = this->GetParent() ? this->GetParent() : wxTheApp->GetTopWindow();
84 if (!gui_reg.
GetBool(
"GBENCH.Application.ViewOptions.SameScreenDialogs",
false))
88 int display_idx = wxDisplay::GetFromPoint(rc.GetPosition());
89 int parent_display_idx = wxDisplay::GetFromWindow(parent);
91 if (parent_display_idx != wxNOT_FOUND && display_idx != parent_display_idx) {
92 wxDisplay display0(display_idx);
93 wxRect geometry0 = display0.GetGeometry();
94 wxDisplay display(parent_display_idx);
95 wxRect geometry = display.GetGeometry();
97 if (geometry0.GetWidth() > 0) {
98 float offset_x = max<float>(0., rc.GetX() - geometry0.GetX());
99 offset_x /= geometry0.GetWidth();
100 rc.SetLeft(geometry.GetX() +
round(offset_x * geometry.GetWidth()));
102 if (geometry0.GetHeight() > 0) {
103 float offset_y = max<float>(0., rc.GetY() - geometry0.GetY());
104 offset_y /= geometry0.GetHeight();
105 rc.SetTop(geometry.GetY() +
round(offset_y * geometry.GetHeight()));
115 wxRect rc = GetRect();
122 long style = GetWindowStyleFlag();
123 if (style&wxRESIZE_BORDER)
126 Move(rc.GetLeftTop());
138 wxDialog::InitDialog();
146 wxDialog::EndModal(retCode);
virtual void x_SaveSettings(CRegistryWriteView) const
virtual void EndModal(int retCode)
virtual void InitDialog()
virtual void x_LoadSettings(const CRegistryReadView &)
override these functions in derived classes
virtual void SaveSettings() const
virtual void SetRegistryPath(const string &path)
void x_CorrectDisplay(wxRect &rc)
move to the parent display
virtual void LoadSettings()
CRegistryWriteView GetWriteView(const string §ion)
get a read-write view at a particular level.
static CGuiRegistry & GetInstance()
access the application-wide singleton
CRegistryReadView GetReadView(const string §ion) const
get a read-only view at a particular level.
bool GetBool(const string &key, bool default_val=false) const
class CRegistryReadView provides a nested hierarchical view at a particular key.
static CWndLayoutReg & GetInstance()
static const char * kWinRectTag
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static wxAcceleratorEntry entries[3]
void LoadWindowRectFromRegistry(wxRect &rc, const CRegistryReadView &view)
void CorrectWindowRect(wxTopLevelWindow *win, wxRect &rc)
void SaveWindowRectToRegistry(const wxRect &rc, CRegistryWriteView view)