Patch level : 10.0
Files correlati : xvaga.dll Ricompilazione Demo : [ ] Commento : Corretto posizionamento pannello di selezione della data git-svn-id: svn://10.65.10.50/trunk@18324 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
720fea210e
commit
9966985cf0
@ -834,7 +834,7 @@ protected:
|
|||||||
void OnCalendar(wxCalendarEvent& e);
|
void OnCalendar(wxCalendarEvent& e);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TwxCalendarDlg(wxWindow* parent, const wxPoint& pnt, wxDateTime& date);
|
TwxCalendarDlg(wxWindow* parent, wxDateTime& date);
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
};
|
};
|
||||||
@ -853,18 +853,15 @@ bool TwxCalendarDlg::TransferDataFromWindow()
|
|||||||
{
|
{
|
||||||
bool ok = wxDialog::TransferDataFromWindow();
|
bool ok = wxDialog::TransferDataFromWindow();
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
|
||||||
m_date = m_cal->GetDate();
|
m_date = m_cal->GetDate();
|
||||||
}
|
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
TwxCalendarDlg::TwxCalendarDlg(wxWindow* parent, const wxPoint& pnt, wxDateTime& date)
|
TwxCalendarDlg::TwxCalendarDlg(wxWindow* parent, wxDateTime& date)
|
||||||
: wxDialog(parent, wxID_ANY, "Data", pnt, wxDefaultSize, wxRAISED_BORDER), m_date(date)
|
: wxDialog(parent, wxID_ANY, "Data", wxDefaultPosition, wxDefaultSize, wxRAISED_BORDER), m_date(date)
|
||||||
{
|
{
|
||||||
|
|
||||||
m_cal = new wxCalendarCtrl(this, ID_CAL, m_date,
|
m_cal = new wxCalendarCtrl(this, ID_CAL, m_date, wxDefaultPosition, wxDefaultSize,
|
||||||
pnt, wxDefaultSize,
|
|
||||||
wxCAL_MONDAY_FIRST | wxCAL_SHOW_HOLIDAYS | wxCAL_SHOW_SURROUNDING_WEEKS);
|
wxCAL_MONDAY_FIRST | wxCAL_SHOW_HOLIDAYS | wxCAL_SHOW_SURROUNDING_WEEKS);
|
||||||
|
|
||||||
wxButton* button = new wxButton(this, wxID_OK, "OK");
|
wxButton* button = new wxButton(this, wxID_OK, "OK");
|
||||||
@ -876,7 +873,7 @@ TwxCalendarDlg::TwxCalendarDlg(wxWindow* parent, const wxPoint& pnt, wxDateTime&
|
|||||||
sizer->SetSizeHints(this);
|
sizer->SetSizeHints(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int xvt_dm_post_choose_date(WINDOW win, PNT pos, unsigned int ansidate)
|
unsigned int xvt_dm_post_choose_date(WINDOW win, const RCT* rct, unsigned int ansidate)
|
||||||
{
|
{
|
||||||
int d = ansidate%100;
|
int d = ansidate%100;
|
||||||
int m = (ansidate/100)%100;
|
int m = (ansidate/100)%100;
|
||||||
@ -889,14 +886,19 @@ unsigned int xvt_dm_post_choose_date(WINDOW win, PNT pos, unsigned int ansidate)
|
|||||||
date = wxDateTime::Today();
|
date = wxDateTime::Today();
|
||||||
|
|
||||||
CAST_WIN(win, w);
|
CAST_WIN(win, w);
|
||||||
|
wxDialog* dlg = new TwxCalendarDlg(&w, date);
|
||||||
|
|
||||||
wxPoint pnt(pos.h, pos.v);
|
if (rct != NULL)
|
||||||
if (pos.h < 0 || pos.v < 0)
|
{
|
||||||
pnt = wxDefaultPosition;
|
const wxRect client = w.GetClientRect();
|
||||||
else
|
const wxRect rect = dlg->GetRect();
|
||||||
pnt = w.ClientToScreen(pnt);
|
wxPoint pos(rct->right - rect.width, rct->bottom);
|
||||||
|
if (pos.x < 0)
|
||||||
wxDialog* dlg = new TwxCalendarDlg(&w, pnt, date);
|
pos.x = rct->left;
|
||||||
|
if (rct->bottom + rect.height > client.GetBottom())
|
||||||
|
pos.y = rct->top - rect.height;
|
||||||
|
dlg->Move(w.ClientToScreen(pos));
|
||||||
|
}
|
||||||
|
|
||||||
if (dlg->ShowModal() == wxID_OK)
|
if (dlg->ShowModal() == wxID_OK)
|
||||||
{
|
{
|
||||||
|
@ -68,7 +68,7 @@ XVTDLL void xvt_debug_printf(const char* fmt, ...);
|
|||||||
|
|
||||||
XVTDLL ASK_RESPONSE xvt_dm_post_ask(const char* Btn1, const char*Btn2, const char* Btn3, const char* xin_buffer);
|
XVTDLL ASK_RESPONSE xvt_dm_post_ask(const char* Btn1, const char*Btn2, const char* Btn3, const char* xin_buffer);
|
||||||
XVTDLL COLOR xvt_dm_post_choose_color(WINDOW win, COLOR c); // Added by guy
|
XVTDLL COLOR xvt_dm_post_choose_color(WINDOW win, COLOR c); // Added by guy
|
||||||
XVTDLL unsigned int xvt_dm_post_choose_date(WINDOW win, PNT pos, unsigned int ansidate); // Added by guy
|
XVTDLL unsigned int xvt_dm_post_choose_date(WINDOW win, const RCT* ownrct, unsigned int ansidate); // Added by guy
|
||||||
XVTDLL void xvt_dm_post_error(const char *fmt);
|
XVTDLL void xvt_dm_post_error(const char *fmt);
|
||||||
XVTDLL void xvt_dm_post_fatal_exit(const char *fmt);
|
XVTDLL void xvt_dm_post_fatal_exit(const char *fmt);
|
||||||
XVTDLL FL_STATUS xvt_dm_post_file_open(FILE_SPEC *fsp, const char *msg);
|
XVTDLL FL_STATUS xvt_dm_post_file_open(FILE_SPEC *fsp, const char *msg);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user