/*********************************************************** * Constructor ***********************************************************/ HListView::HListView(BRect rect, BetterScrollView** scroll, const char* title) : ColumnListView(rect, (CLVContainerView**)scroll, title, B_FOLLOW_ALL, B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE | B_PULSE_NEEDED, B_MULTIPLE_SELECTION_LIST, true) { int16 cols[6]; HPrefs* prefs = ((HApp*)be_app)->Prefs(); for (int i = 1; i <= 6; i++) { BString name = "col"; name << (int32)i; prefs->GetData(name.String(), &cols[i-1]); } AddColumn(new CLVColumn(NULL, 20, CLV_LOCK_AT_BEGINNING | CLV_NOT_MOVABLE | CLV_NOT_RESIZABLE | CLV_PUSH_PASS | CLV_MERGE_WITH_RIGHT)); AddColumn(new CLVColumn(_("Name"), cols[0], CLV_NOT_MOVABLE | CLV_TELL_ITEMS_WIDTH)); AddColumn(new CLVColumn(_("Total"), cols[1], CLV_NOT_MOVABLE | CLV_TELL_ITEMS_WIDTH)); AddColumn(new CLVColumn(_("Transfered"), cols[2], CLV_NOT_MOVABLE | CLV_TELL_ITEMS_WIDTH)); AddColumn(new CLVColumn(_("Average"), cols[3], CLV_NOT_MOVABLE | CLV_TELL_ITEMS_WIDTH)); AddColumn(new CLVColumn(_("Estimated"), cols[4], CLV_NOT_MOVABLE | CLV_TELL_ITEMS_WIDTH)); AddColumn(new CLVColumn(_("Elapsed"), cols[5], CLV_NOT_MOVABLE | CLV_TELL_ITEMS_WIDTH)); SetSortKey(0); SetFont(be_fixed_font); SetSortFunction(CLVEasyItem::CompareItems); SetInvocationMessage(new BMessage(M_LIST_DBL_CLICKED)); SetSelectionMessage(new BMessage(M_SELECTION_CHANGED)); }
void ColumnListView::SetSorting(int32 NumberOfKeys, int32* SortKeys, CLVSortMode* SortModes) { BWindow* ParentWindow = Window(); if(ParentWindow) ParentWindow->Lock(); //Need to remove old sort keys and erase all the old underlines BRect LabelBounds = fColumnLabelView->Bounds(); int32 SortKeyCount = fSortKeyList.CountItems(); for(int32 Counter = 0; Counter < SortKeyCount; Counter++) { CLVColumn* UnderlineColumn = (CLVColumn*)fSortKeyList.ItemAt(Counter); if(UnderlineColumn->fSortMode != NoSort) fColumnLabelView->Invalidate(BRect(UnderlineColumn->fColumnBegin,LabelBounds.top, UnderlineColumn->fColumnEnd,LabelBounds.bottom)); } fSortKeyList.MakeEmpty(); for(int32 Counter = 0; Counter < NumberOfKeys; Counter++) { if(Counter == 0) SetSortKey(SortKeys[0]); else AddSortKey(SortKeys[Counter]); SetSortMode(SortKeys[Counter],SortModes[Counter]); } if(ParentWindow) ParentWindow->Unlock(); }
/*------------------------------------------------------------------------------*\ () - \*------------------------------------------------------------------------------*/ BmFilterView::BmFilterView( int32 width, int32 height) : inherited( BRect(0,0,float(width-1),float(height-1)), "Beam_FilterView", B_SINGLE_SELECTION_LIST, false, true) { int32 flags = 0; SetViewColor( B_TRANSPARENT_COLOR); if (ThePrefs->GetBool("StripedListView")) SetStripedBackground( true); AddColumn( new CLVColumn( "Name", 200.0, flags|CLV_SORT_KEYABLE, 50.0)); AddColumn( new CLVColumn( "State", 80.0, flags, 50.0)); SetSortFunction( CLVEasyItem::CompareItems); SetSortKey( COL_KEY); }
/*------------------------------------------------------------------------------*\ () - \*------------------------------------------------------------------------------*/ BmSendAccView::BmSendAccView( int32 width, int32 height) : inherited( BRect(0,0,float(width-1),float(height-1)), "Beam_SendAccView", B_SINGLE_SELECTION_LIST, false, true) { int32 flags = CLV_SORT_KEYABLE; SetViewColor( B_TRANSPARENT_COLOR); if (ThePrefs->GetBool("StripedListView")) SetStripedBackground( true); else flags |= CLV_TELL_ITEMS_WIDTH; AddColumn( new CLVColumn( "Account", 80.0, flags, 50.0)); AddColumn( new CLVColumn( "Server", 80.0, flags, 40.0)); AddColumn( new CLVColumn( "Encryption", 80.0, flags, 40.0)); AddColumn( new CLVColumn( "Auth-Method", 80.0, flags, 40.0)); AddColumn( new CLVColumn( "User", 80.0, flags, 40.0)); AddColumn( new CLVColumn( "Pwd", 50.0, flags, 40.0)); AddColumn( new CLVColumn( "Domain", 80.0, flags, 40.0)); AddColumn( new CLVColumn( "Port", 40.0, 0, 40.0)); SetSortFunction( CLVEasyItem::CompareItems); SetSortKey( COL_KEY); }
/*------------------------------------------------------------------------------*\ () - \*------------------------------------------------------------------------------*/ BmRecvIdentView::BmRecvIdentView( int32 width, int32 height) : inherited( BRect(0,0,float(width-1),float(height-1)), "Beam_IdentView", B_SINGLE_SELECTION_LIST, false, true) { int32 flags = CLV_SORT_KEYABLE; SetViewColor( B_TRANSPARENT_COLOR); if (ThePrefs->GetBool("StripedListView")) SetStripedBackground( true); else flags |= CLV_TELL_ITEMS_WIDTH; AddColumn( new CLVColumn( "Identity", 80.0, flags, 50.0)); AddColumn( new CLVColumn( "Real Name", 80.0, flags, 40.0)); AddColumn( new CLVColumn( "Mailaddress", 80.0, flags, 40.0)); AddColumn( new CLVColumn( "Aliases", 80.0, flags, 40.0)); AddColumn( new CLVColumn( "Receiving Account", 80.0, flags, 40.0)); AddColumn( new CLVColumn( "F", 20.0, flags, 20.0, "(F)allback Identity?")); AddColumn( new CLVColumn( "Signature", 80.0, flags, 40.0)); AddColumn( new CLVColumn( "Sending Account", 80.0, flags, 40.0)); SetSortFunction( CLVEasyItem::CompareItems); SetSortKey( COL_KEY); }