CurView::CurView(const BRect &frame, const char *name, int32 resize, int32 flags) :BView(frame,name,resize,flags), settings(B_SIMPLE_DATA) { SetViewUIColor(B_PANEL_BACKGROUND_COLOR); cursorset=new CursorSet("Default"); /* // Code disabled -- cursor set management belongs in another app BMenuBar *mb=new BMenuBar(BRect(0,0,Bounds().Width(),16),"menubar"); settings_menu=new BMenu("Settings"); settings_menu->AddItem(new BMenuItem("Save Cursor Set",new BMessage(SAVE_CURSORSET),'S')); settings_menu->AddSeparatorItem(); settings_menu->AddItem(new BMenuItem("Delete Cursor Set",new BMessage(DELETE_CURSORSET))); mb->AddItem(settings_menu); cursorset_menu=LoadCursorSets(); if(cursorset_menu) mb->AddItem(cursorset_menu); else { // We should *never* be here, but just in case.... cursorset_menu=new BMenu("Cursor Sets"); mb->AddItem(cursorset_menu); } AddChild(mb); */ BRect wellrect(0,0,20,20); wellrect.OffsetTo(10,25); wellrect.right=wellrect.left+50; /* // Code disabled -- cursor set management belongs in another app cursorset_label=new BStringView(wellrect,"cursorset_label","Cursor Set: "); AddChild(cursorset_label); cursorset_label->ResizeToPreferred(); cursorset_name="<untitled>"; */ // Set up list of cursor attributes BRect cvrect; BRect rect; cvrect.Set(0,0,75,75); bmpview=new BitmapView(BPoint(10,10),new BMessage(CURSOR_UPDATED),this); bmpview->MoveTo( (Bounds().Width()-bmpview->Bounds().Width())/2,30); AddChild(bmpview); rect.left=(Bounds().Width()-200)/2; rect.right=rect.left+190; rect.top=bmpview->Frame().bottom+30; rect.bottom=rect.top+100; attrlist=new BListView(rect,"AttributeList"); scrollview=new BScrollView("ScrollView",attrlist, B_FOLLOW_LEFT | B_FOLLOW_TOP, 0, false, true); AddChild(scrollview); scrollview->SetViewUIColor(B_PANEL_BACKGROUND_COLOR); attrlist->SetSelectionMessage(new BMessage(ATTRIBUTE_CHOSEN)); attrlist->AddItem(new CursorWhichItem(B_CURSOR_DEFAULT)); attrlist->AddItem(new CursorWhichItem(B_CURSOR_TEXT)); attrlist->AddItem(new CursorWhichItem(B_CURSOR_MOVE)); attrlist->AddItem(new CursorWhichItem(B_CURSOR_DRAG)); attrlist->AddItem(new CursorWhichItem(B_CURSOR_RESIZE)); attrlist->AddItem(new CursorWhichItem(B_CURSOR_RESIZE_NWSE)); attrlist->AddItem(new CursorWhichItem(B_CURSOR_RESIZE_NESW)); attrlist->AddItem(new CursorWhichItem(B_CURSOR_RESIZE_NS)); attrlist->AddItem(new CursorWhichItem(B_CURSOR_RESIZE_EW)); cvrect.Set(0,0,60,30); cvrect.OffsetTo( (Bounds().Width()-200)/2,scrollview->Frame().bottom+20); defaults=new BButton(cvrect,"DefaultsButton","Defaults", new BMessage(DEFAULT_SETTINGS),B_FOLLOW_LEFT |B_FOLLOW_TOP, B_WILL_DRAW | B_NAVIGABLE); AddChild(defaults); cvrect.OffsetBy(70,0); revert=new BButton(cvrect,"RevertButton","Revert", new BMessage(REVERT_SETTINGS),B_FOLLOW_LEFT |B_FOLLOW_TOP, B_WILL_DRAW | B_NAVIGABLE); AddChild(revert); revert->SetEnabled(false); cvrect.OffsetBy(70,0); apply=new BButton(cvrect,"ApplyButton","Apply", new BMessage(APPLY_SETTINGS),B_FOLLOW_LEFT |B_FOLLOW_TOP, B_WILL_DRAW | B_NAVIGABLE); AddChild(apply); apply->SetEnabled(false); BEntry entry(COLOR_SET_DIR); entry_ref ref; entry.GetRef(&ref); attribute=B_PANEL_BACKGROUND_COLOR; attrstring="Background"; LoadSettings(); }
APRView::APRView(const char* name) : BView(name, B_WILL_DRAW) { SetViewUIColor(B_PANEL_BACKGROUND_COLOR); #if 0 fDecorMenu = new BMenu("Window Style"); int32 decorCount = fDecorUtil->CountDecorators(); DecorInfo* decor = NULL; if (decorCount > 1) { for (int32 i = 0; i < decorCount; i++) { decor = fDecorUtil->GetDecorator(i); if (!decor) continue; fDecorMenu->AddItem(new BMenuItem(decor->Name().String(), new BMessage(DECORATOR_CHANGED))); } BMenuField* field = new BMenuField("Window Style", fDecorMenu); // TODO: use this menu field. } BMenuItem* marked = fDecorMenu->ItemAt(fDecorUtil->IndexOfCurrentDecorator()); if (marked) marked->SetMarked(true); else { marked = fDecorMenu->FindItem("Default"); if (marked) marked->SetMarked(true); } #endif LoadSettings(); // Set up list of color attributes fAttrList = new BListView("AttributeList", B_SINGLE_SELECTION_LIST); fScrollView = new BScrollView("ScrollView", fAttrList, 0, false, true); fScrollView->SetViewUIColor(B_PANEL_BACKGROUND_COLOR); int32 count = color_description_count(); for (int32 i = 0; i < count; i++) { const ColorDescription& description = *get_color_description(i); const char* text = B_TRANSLATE_NOCOLLECT(description.text); color_which which = description.which; fAttrList->AddItem(new ColorWhichItem(text, which, ui_color(which))); } BRect wellrect(0, 0, 50, 50); fColorPreview = new ColorPreview(wellrect, new BMessage(COLOR_DROPPED), 0); fColorPreview->SetExplicitAlignment(BAlignment(B_ALIGN_HORIZONTAL_CENTER, B_ALIGN_BOTTOM)); fPicker = new BColorControl(B_ORIGIN, B_CELLS_32x8, 8.0, "picker", new BMessage(UPDATE_COLOR)); BLayoutBuilder::Group<>(this, B_VERTICAL) .Add(fScrollView, 10.0) .AddGroup(B_HORIZONTAL, B_USE_DEFAULT_SPACING) .Add(fColorPreview) .Add(fPicker) .End() .SetInsets(B_USE_WINDOW_SPACING); fColorPreview->Parent()->SetExplicitMaxSize( BSize(B_SIZE_UNSET, fPicker->Bounds().Height())); fAttrList->SetSelectionMessage(new BMessage(ATTRIBUTE_CHOSEN)); }
APRView::APRView(const char *name, uint32 flags) : BView(name, flags), fDefaultSet(ColorSet::DefaultColorSet()), fDecorMenu(NULL) { SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); #if 0 fDecorMenu = new BMenu("Window Style"); int32 decorCount = BPrivate::count_decorators(); if (decorCount > 1) { for (int32 i = 0; i < decorCount; i++) { BString name; BPrivate::get_decorator_name(i, name); if (name.CountChars() < 1) continue; fDecorMenu->AddItem(new BMenuItem(name.String(), new BMessage(DECORATOR_CHANGED))); } BMenuField *field = new BMenuField("Window Style", fDecorMenu); // TODO: use this menu field. } BMenuItem *marked = fDecorMenu->ItemAt(BPrivate::get_decorator()); if (marked) marked->SetMarked(true); else { marked = fDecorMenu->FindItem("Default"); if (marked) marked->SetMarked(true); } #endif // Set up list of color attributes fAttrList = new BListView("AttributeList", B_SINGLE_SELECTION_LIST); fScrollView = new BScrollView("ScrollView", fAttrList, 0, false, true); fScrollView->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); for (int32 i = 0; i < color_description_count(); i++) { const ColorDescription& description = *get_color_description(i); const char* text = TR(description.text); color_which which = description.which; fAttrList->AddItem(new ColorWhichItem(text, which)); } BRect wellrect(0, 0, 50, 50); fColorWell = new ColorWell(wellrect, new BMessage(COLOR_DROPPED), 0); fColorWell->SetExplicitAlignment(BAlignment(B_ALIGN_HORIZONTAL_CENTER, B_ALIGN_BOTTOM)); fPicker = new BColorControl(B_ORIGIN, B_CELLS_32x8, 8.0, "picker", new BMessage(UPDATE_COLOR)); SetLayout(new BGroupLayout(B_VERTICAL)); AddChild(BGroupLayoutBuilder(B_VERTICAL, 0) .Add(fScrollView) .Add(BSpaceLayoutItem::CreateVerticalStrut(5)) .Add(BGroupLayoutBuilder(B_HORIZONTAL) .Add(fColorWell) .Add(BSpaceLayoutItem::CreateHorizontalStrut(5)) .Add(fPicker) ) .SetInsets(10, 10, 10, 10) ); fColorWell->Parent()->SetExplicitMaxSize( BSize(B_SIZE_UNSET, fPicker->Bounds().Height())); fAttrList->SetSelectionMessage(new BMessage(ATTRIBUTE_CHOSEN)); }