本文整理汇总了C++中BTextView::IsFocus方法的典型用法代码示例。如果您正苦于以下问题:C++ BTextView::IsFocus方法的具体用法?C++ BTextView::IsFocus怎么用?C++ BTextView::IsFocus使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BTextView
的用法示例。
在下文中一共展示了BTextView::IsFocus方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void
PersonView::MessageReceived(BMessage* msg)
{
switch (msg->what) {
case M_SAVE:
Save();
break;
case M_REVERT:
if (fPictureView)
fPictureView->Revert();
if (fAddrView)
fAddrView->Reload();
for (int32 i = fControls.CountItems() - 1; i >= 0; i--)
fControls.ItemAt(i)->Reload();
break;
case M_SELECT:
for (int32 i = fControls.CountItems() - 1; i >= 0; i--) {
BTextView* text = fControls.ItemAt(i)->TextView();
if (text->IsFocus()) {
text->Select(0, text->TextLength());
break;
}
}
break;
case M_GROUP_MENU:
{
/*const char* name = NULL;
if (msg->FindString("group", &name) == B_OK)
SetAttribute(fCategoryAttribute, name, false);*/
break;
}
}
}
示例2: string
filter_result
SpinnerMsgFilter::Filter(BMessage *msg, BHandler **target)
{
int32 c;
msg->FindInt32("raw_char",&c);
switch (c) {
case B_ENTER: {
BTextView *text = dynamic_cast<BTextView*>(*target);
if (text && text->IsFocus()) {
BView *view = text->Parent();
while (view) {
Spinner *spin = dynamic_cast<Spinner*>(view);
if (spin) {
BString string(text->Text());
int32 newvalue = 0;
sscanf(string.String(),"%ld",&newvalue);
if (newvalue != spin->Value()) {
spin->SetValue(newvalue);
spin->Invoke();
}
return B_SKIP_MESSAGE;
}
view = view->Parent();
}
}
return B_DISPATCH_MESSAGE;
}
case B_TAB: {
// Cause Tab characters to perform keybaord navigation
BHandler *h = *target;
BView *v = NULL;
h = h->NextHandler();
while (h) {
v = dynamic_cast<BView*>(h);
if (v) {
*target = v->Window();
return B_DISPATCH_MESSAGE;
}
h = h->NextHandler();
}
return B_SKIP_MESSAGE;
}
case B_UP_ARROW:
case B_DOWN_ARROW: {
BTextView *text = dynamic_cast<BTextView*>(*target);
if (text && text->IsFocus()) {
// We have a text view. See if it currently has the focus and belongs
// to a Spinner control. If so, change the value of the spinner
// TextViews are complicated beasts which are actually multiple views.
// Travel up the hierarchy to see if any of the target's ancestors are
// a Spinner.
BView *view = text->Parent();
while (view) {
Spinner *spin = dynamic_cast<Spinner*>(view);
if (spin) {
int32 step = spin->GetSteps();
if (c == B_DOWN_ARROW)
step = 0 - step;
spin->SetValue(spin->Value() + step);
spin->Invoke();
return B_SKIP_MESSAGE;
}
view = view->Parent();
}
}
return B_DISPATCH_MESSAGE;
}
default:
return B_DISPATCH_MESSAGE;
}
// shut the stupid compiler up
return B_SKIP_MESSAGE;
}
示例3: AddressWindow
void
PersonView::MessageReceived(BMessage* msg)
{
msg->PrintToStream();
switch (msg->what) {
case M_SAVE:
Save();
break;
case M_REVERT:
if (fPictureView)
fPictureView->Revert();
if (fAddressWindow)
fAddressWindow->Reload();
for (int32 i = fControls.CountItems() - 1; i >= 0; i--)
fControls.ItemAt(i)->Reload();
break;
case M_SELECT:
for (int32 i = fControls.CountItems() - 1; i >= 0; i--) {
BTextView* text = fControls.ItemAt(i)->TextView();
if (text->IsFocus()) {
text->Select(0, text->TextLength());
break;
}
}
break;
case M_GROUP_MENU:
{
/*const char* name = NULL;
if (msg->FindString("group", &name) == B_OK)
SetAttribute(fCategoryAttribute, name, false);*/
break;
}
case M_SHOW_LOCATIONS:
{
if (fAddressWindow == NULL) {
fAddressWindow = new AddressWindow(fContact);
}
fAddressWindow->Show();
fAddressWindow->Activate(true);
break;
}
case M_ADD_FIELD:
{
field_type type;
if (msg->FindInt32("field_type", (int32*)&type) == B_OK) {
BContactField* contactField
= BContactField::InstantiateChildClass(type);
fContact->AddField(contactField);
AddNewField(contactField);
fSaved = false;
}
break;
}
case M_REMOVE_FIELD:
{
ContactFieldTextControl* control;
if (msg->FindPointer("fieldtextcontrol",
(void**)&control) == B_OK) {
_RemoveField(control);
fSaved = false;
}
break;
}
}
}