本文整理汇总了C++中WDate::day方法的典型用法代码示例。如果您正苦于以下问题:C++ WDate::day方法的具体用法?C++ WDate::day怎么用?C++ WDate::day使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WDate
的用法示例。
在下文中一共展示了WDate::day方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: update
void CalendarCell::update(const dbo::ptr<UserAccount>& user, const WDate& date)
{
date_ = date;
user_ = user;
clear();
dbo::Session& session = PlannerApplication::plannerApplication()->session;
dbo::Transaction transaction(session);
WString day;
day += boost::lexical_cast<std::string>(date.day());
if (date.day() == 1)
day += " " + WDate::longMonthName(date.month());
WText* header = new WText(day);
header->setStyleClass("cell-header");
addWidget(header);
typedef dbo::collection< dbo::ptr<Entry> > Entries;
Entries entries = user->entriesInRange(date, date.addDays(1));
const unsigned maxEntries = 4;
unsigned counter = 0;
for (Entries::const_iterator i = entries.begin();
i != entries.end(); ++i, ++counter) {
if (counter == maxEntries) {
WText* extra =
new WText(tr("calendar.cell.extra")
.arg((int)(entries.size() - maxEntries)));
extra->setStyleClass("cell-extra");
addWidget(extra);
extra->clicked().preventPropagation();
extra->clicked().connect(this, &CalendarCell::showAllEntriesDialog);
break;
}
WString format = EntryDialog::timeFormat;
addWidget(new WText((*i)->start.toString(format) +
"-" +
(*i)->stop.toString(format) +
": " + (*i)->summary));
}
transaction.commit();
}
示例2: renderCell
WWidget* WCalendar::renderCell(WWidget* widget, const WDate& date)
{
WText* t = dynamic_cast<WText*>(widget);
if (!t) {
t = new WText();
t->setInline(false);
t->setTextFormat(PlainText);
}
#ifndef WT_TARGET_JAVA
char buf[30];
#else
char *buf;
#endif // WT_TARGET_JAVA
Utils::itoa(date.day(), buf);
t->setText(WString::fromUTF8(buf));
std::string styleClass;
if (isInvalid(date))
styleClass += " Wt-cal-oor";
else if (date.month() != currentMonth())
styleClass += " Wt-cal-oom";
if (isSelected(date))
styleClass += " Wt-cal-sel";
WDate currentDate = WDate::currentDate();
if (date.day() == currentDate.day() && date.month() == currentDate.month() &&
date.year() == currentDate.year()) {
if (!isSelected(date))
styleClass += " Wt-cal-now";
t->setToolTip(WString::tr("Wt.WCalendar.today"));
} else
t->setToolTip("");
t->setStyleClass(styleClass.c_str());
return t;
}
示例3: render
void WCalendar::render(WFlags<RenderFlag> flags)
{
if (needRenderMonth_) {
bool create = cellClickMapper_ == 0;
#ifndef WT_TARGET_JAVA
char buf[30];
#else
char *buf;
#endif // WT_TARGET_JAVA
if (create) {
// FIXME catch events only on container, and use 'tid' to identify
// the cell -- in Ajax mode
cellClickMapper_ = new WSignalMapper<Coordinate>(this);
cellClickMapper_->mapped().connect(this, &WCalendar::cellClicked);
cellDblClickMapper_ = new WSignalMapper<Coordinate>(this);
cellDblClickMapper_->mapped().connect(this, &WCalendar::cellDblClicked);
}
int m = currentMonth_ - 1;
if (monthEdit_->currentIndex() != m)
monthEdit_->setCurrentIndex(m);
int y = currentYear_;
Utils::itoa(y, buf);
if (yearEdit_->text().toUTF8() != buf)
yearEdit_->setText(WString::fromUTF8(buf));
WDate todayd = WDate::currentDate();
date today(todayd.year(), todayd.month(), todayd.day());
// The first line contains the last day of the previous month.
date d(currentYear_, currentMonth_, 1);
d -= date_duration(1);
greg_weekday gw = firstDayOfWeek_ % 7;
d = previous_weekday(d, gw);
for (unsigned i = 0; i < 6; ++i) {
for (unsigned j = 0; j < 7; ++j) {
Utils::itoa(i * 7 + j, buf);
std::string cell = std::string("c") + buf;
WDate date(d.year(), d.month(), d.day());
WWidget *w = impl_->resolveWidget(cell);
WWidget *rw = renderCell(w, date);
impl_->bindWidget(cell, rw);
WInteractWidget* iw = dynamic_cast<WInteractWidget*>(rw->webWidget());
if (iw && iw != w) {
if (clicked().isConnected()
|| (selectionMode_ == ExtendedSelection)
|| (selectionMode_ != ExtendedSelection && singleClickSelect_
&& activated().isConnected()))
cellClickMapper_
->mapConnect(iw->clicked(), Coordinate(i, j));
if ((selectionMode_ != ExtendedSelection && !singleClickSelect_
&& (activated().isConnected() ||
selectionChanged().isConnected())))
cellDblClickMapper_
->mapConnect(iw->doubleClicked(), Coordinate(i, j));
}
d += date_duration(1);
}
}
needRenderMonth_ = false;
}
WCompositeWidget::render(flags);
}