Lines Matching refs:column

39 /   Description:    Experimental multi-column list view.
184 void ColumnAdded(BColumn* column);
185 void ColumnResized(BColumn* column, float oldWidth);
186 void SetColumnVisible(BColumn* column, bool visible);
197 void MoveColumn(BColumn* column, int32 index);
206 void GetTitleRect(BColumn* column, BRect* _rect);
212 void ComputeDragBoundries(BColumn* column,
215 BColumn* column, bool depressed);
270 void RedrawColumn(BColumn* column, float leftEdge,
273 float GetColumnPreferredWidth(BColumn* column);
675 BColumn* column = NULL;
678 column = fList->ColumnAt(i);
679 if(column->LogicalFieldNum() == logicalFieldIndex )
683 if (column == NULL) {
689 if (!column->AcceptsField(field)) {
691 dbmessage << typeid(*column).name() << "\n\tat logical field index "
890 while (BColumn* column = (BColumn*)fColumns.RemoveItem((int32)0))
891 delete column;
1077 BColumnListView::SetSortColumn(BColumn* column, bool add, bool ascending)
1085 if (!fSortColumns.HasItem(column))
1086 fSortColumns.AddItem(column);
1088 column->fSortAscending = ascending;
1152 BColumnListView::AddColumn(BColumn* column, int32 logicalFieldIndex)
1154 ASSERT(column != NULL);
1156 column->fList = this;
1157 column->fFieldID = logicalFieldIndex;
1168 if (column->Width() < column->MinWidth())
1169 column->SetWidth(column->MinWidth());
1170 else if (column->Width() > column->MaxWidth())
1171 column->SetWidth(column->MaxWidth());
1173 fColumns.AddItem((void*) column);
1174 fTitleView->ColumnAdded(column);
1179 BColumnListView::MoveColumn(BColumn* column, int32 index)
1181 ASSERT(column != NULL);
1182 fTitleView->MoveColumn(column, index);
1187 BColumnListView::RemoveColumn(BColumn* column)
1189 if (fColumns.HasItem(column)) {
1190 SetColumnVisible(column, false);
1193 fColumns.RemoveItem(column);
1217 for (int i = 0; BColumn* column = (BColumn*)fColumns.ItemAt(i); i++) {
1218 if (column == NULL || !column->IsVisible())
1221 float right = left + column->Width();
1223 return column;
1233 BColumnListView::SetColumnVisible(BColumn* column, bool visible)
1235 fTitleView->SetColumnVisible(column, visible);
1242 BColumn* column = ColumnAt(index);
1243 if (column != NULL)
1244 column->SetVisible(isVisible);
1251 BColumn* column = ColumnAt(index);
1252 if (column != NULL)
1253 return column->IsVisible();
1269 BColumn* column = ColumnAt(index);
1270 if (column == NULL)
1273 // get the preferred column width
1274 float width = fOutlineView->GetColumnPreferredWidth(column);
1277 float oldWidth = column->Width();
1278 column->SetWidth(width);
1280 fTitleView->ColumnResized(column, oldWidth);
1653 BColumn* column = (BColumn*) fColumns.ItemAt(index);
1654 if (column == NULL || !column->IsVisible())
1657 if (column == inColumn) {
1659 rect.right = rect.left + column->Width();
1663 leftEdge += column->Width() + 1;
1994 for (int32 i = 0; BColumn* column = (BColumn*)fColumns.ItemAt(i); i++) {
1995 message->AddInt32("ID", column->fFieldID);
1996 message->AddFloat("width", column->fWidth);
1997 message->AddBool("visible", column->fVisible);
2003 for (int32 i = 0; BColumn* column = (BColumn*)fSortColumns.ItemAt(i);
2005 message->AddInt32("sortID", column->fFieldID);
2006 message->AddBool("sortascending", column->fSortAscending);
2017 for (int j = 0; BColumn* column = (BColumn*)fColumns.ItemAt(j); j++) {
2018 if (column->fFieldID == id) {
2019 // move this column to position 'i' and set its attributes
2020 MoveColumn(column, i);
2023 column->SetWidth(width);
2026 column->SetVisible(visible);
2034 for (int j = 0; BColumn* column = (BColumn*)fColumns.ItemAt(j);
2036 if (column->fFieldID == id) {
2037 // add this column to the sort list
2040 SetSortColumn(column, true, value);
2109 BColumn* column = ColumnAt(i);
2110 if (column != NULL)
2111 size.width += column->Width();
2375 TitleView::ColumnAdded(BColumn* column)
2378 fOutlineView->ResizeBufferView()->UpdateMaxWidth(column->MaxWidth());
2380 // fColumnsWidth += column->Width();
2387 TitleView::ColumnResized(BColumn* column, float oldWidth)
2389 // fColumnsWidth += column->Width() - oldWidth;
2396 TitleView::SetColumnVisible(BColumn* column, bool visible)
2398 if (column->fVisible == visible)
2404 column->fVisible = visible;
2407 GetTitleRect(column, &titleInvalid);
2410 column->fVisible = visible;
2413 // fColumnsWidth += column->Width();
2415 // fColumnsWidth -= column->Width();
2434 BColumn* column = (BColumn*) fColumns->ItemAt(index);
2435 if (!column->IsVisible())
2438 if (column == findColumn) {
2439 _rect->Set(leftEdge, 0, leftEdge + column->Width(),
2444 leftEdge += column->Width() + 1;
2457 BColumn* column = (BColumn*) fColumns->ItemAt(index);
2458 if (!column->IsVisible())
2465 && position.x <= leftEdge + column->Width()) {
2470 leftEdge += column->Width() + 1;
2518 // Redraw the new column position
2532 TitleView::MoveColumn(BColumn* column, int32 index)
2534 fColumns->RemoveItem((void*) column);
2537 // Re-add the column at the end of the list.
2538 fColumns->AddItem((void*) column);
2540 fColumns->AddItem((void*) column, index);
2585 // Update the size of the title column
2639 BColumn* column = (BColumn*) fColumns->ItemAt(index);
2640 if (!column->IsVisible())
2643 if (column == findColumn) {
2649 nextColumnRightEdge = leftEdge + column->Width();
2654 leftEdge += column->Width() + 1;
2666 TitleView::DrawTitle(BView* view, BRect rect, BColumn* column, bool depressed)
2696 // If no column given, nothing else to draw.
2697 if (column == NULL)
2706 int sortIndex = fSortColumns->IndexOf(column);
2727 if (column->fSortAscending) {
2754 column->DrawTitle(drawRect, view);
2770 BColumn* column = reinterpret_cast<BColumn*>(fColumns->ItemAt(i));
2771 if (column->IsVisible())
2772 width += column->Width();
2786 BColumn* column = (BColumn*) fColumns->ItemAt(columnIndex);
2787 if (!column->IsVisible())
2793 if (columnLeftEdge + column->Width() >= invalidRect.left) {
2795 columnLeftEdge + column->Width(), fVisibleRect.Height());
2796 DrawTitle(this, titleRect, column,
2798 && fSelectedColumn == column));
2801 columnLeftEdge += column->Width() + 1;
2820 // (internal) column drag indicator
2859 BColumn* column = (BColumn*) fColumns->ItemAt(index);
2860 if (column == NULL)
2863 if (column->LogicalFieldNum() == num)
2864 column->SetVisible(!column->IsVisible());
2891 BColumn* column = (BColumn*) fColumns->ItemAt(index);
2892 if (column == NULL)
2896 column->GetColumnName(&name);
2898 message->AddInt32("be:field_num", column->LogicalFieldNum());
2900 item->SetMarked(column->IsVisible());
2916 BColumn* column = (BColumn*)fColumns->ItemAt(index);
2917 if (column == NULL || !column->IsVisible())
2923 // check for resizing a column
2924 float rightEdge = leftEdge + column->Width();
2926 if (column->ShowHeading()) {
2929 && column->MaxWidth() > column->MinWidth()
2933 fSelectedColumn = column;
2952 // check for clicking on a column
2955 fSelectedColumn = column;
2978 // Handle column manipulation
3012 // If the user drags a column very quickly, this
3081 // a column.
3085 BColumn* column = (BColumn*) fColumns->ItemAt(index);
3086 if (!column->IsVisible())
3092 float rightEdge = leftEdge + column->Width();
3095 && column->MaxWidth() > column->MinWidth()) {
3096 resizeColumn = column;
3331 OutlineView::RedrawColumn(BColumn* column, float leftEdge, bool isFirstColumn)
3336 if (!column)
3354 BRect sourceRect(0, 0, column->Width(), rowHeight);
3356 BRect destRect(leftEdge, line, leftEdge + column->Width(),
3389 // If this is the first column, double buffer drawing the latch
3405 BField* field = row->GetField(column->fFieldID);
3422 column->DrawField(field, fieldRect, fResizeBufferView);
3447 BField* field = row->GetField(column->fFieldID);
3459 column->DrawField(field, destRect, this);
3520 BColumn* column = (BColumn*) fColumns->ItemAt(columnIndex);
3521 if (!column->IsVisible())
3527 if (fieldLeftEdge + column->Width() >= invalidBounds.left) {
3529 fieldLeftEdge + column->Width(), line + rowHeight);
3532 // This happens when a column is indented past the
3533 // beginning of the next column.
3545 + column->Width(), line + rowHeight));
3598 BField* field = row->GetField(column->fFieldID);
3612 column->DrawField(field, destRect, this);
3621 fieldLeftEdge += column->Width() + 1;
4637 BColumn* column = (BColumn*) fSortColumns->ItemAt(index);
4639 BField* field1 = (BField*) row1->GetField(column->fFieldID);
4640 BField* field2 = (BField*) row2->GetField(column->fFieldID);
4642 comp = column->CompareFields(field1, field2);
4644 if (!column->fSortAscending)
5056 OutlineView::GetColumnPreferredWidth(BColumn* column)
5061 BField* field = row->GetField(column->fFieldID);
5063 float width = column->GetPreferredWidth(field, this)
5070 column->GetColumnName(&name);
5075 if (preferred < column->MinWidth())
5076 preferred = column->MinWidth();
5077 else if (preferred > column->MaxWidth())
5078 preferred = column->MaxWidth();