MCPcopy Create free account
hub / github.com/SpartanJ/eepp / onSortColumn

Method onSortColumn

src/eepp/ui/abstract/uiabstracttableview.cpp:885–915  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

883}
884
885void UIAbstractTableView::onSortColumn( const size_t& colIndex ) {
886 Model* model = getModel();
887 if ( !model )
888 return;
889 if ( model->isSortable() && model->isColumnSortable( colIndex ) ) {
890 if ( -1 != model->keyColumn() && (Int64)colIndex != model->keyColumn() &&
891 columnData( model->keyColumn() ).widget ) {
892 UIImage* image =
893 columnData( model->keyColumn() ).widget->getExtraInnerWidget()->asType<UIImage>();
894 image->setForegroundFillEnabled( false );
895 image->setDrawable( nullptr );
896 }
897 SortOrder sortOrder = model->sortOrder() == SortOrder::Ascending ? SortOrder::Descending
898 : SortOrder::Ascending;
899 UIPushButton* button = columnData( colIndex ).widget;
900 UIImage* image = button->getExtraInnerWidget()->asType<UIImage>();
901 std::string tag = button->getElementTag() + "::arrow";
902 image->setElementTag( sortOrder == SortOrder::Ascending ? tag + "-up" : tag + "-down" );
903 image->setForegroundFillEnabled( true );
904 image->reloadStyle();
905 if ( image->getForeground() )
906 image->getForeground()->setAlpha( 255 );
907 if ( image && image->getForeground() == nullptr ) {
908 Drawable* icon = mUISceneNode->findIconDrawable(
909 sortOrder == SortOrder::Ascending ? "arrow-down" : "arrow-up", mSortIconSize );
910 if ( icon )
911 image->setDrawable( icon );
912 }
913 model->sort( colIndex, sortOrder );
914 }
915}
916
917Uint32 UIAbstractTableView::onTextInput( const TextInputEvent& event ) {
918 if ( !mRowSearchByName )

Callers

nothing calls this directly

Calls 13

getModelFunction · 0.85
isColumnSortableMethod · 0.80
keyColumnMethod · 0.80
sortOrderMethod · 0.80
setElementTagMethod · 0.80
getForegroundMethod · 0.80
findIconDrawableMethod · 0.80
getExtraInnerWidgetMethod · 0.45
setDrawableMethod · 0.45
reloadStyleMethod · 0.45
setAlphaMethod · 0.45

Tested by

no test coverage detected