File: my_tree_view.cpp

package info (click to toggle)
codelite 14.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 112,816 kB
  • sloc: cpp: 483,662; ansic: 150,144; php: 9,569; lex: 4,186; python: 3,417; yacc: 2,820; sh: 1,147; makefile: 52; xml: 13
file content (21 lines) | stat: -rw-r--r-- 767 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "clTreeCtrlModel.h"
#include "my_tree_view.h"
#include "tree_item_data.h"
#include <wx/settings.h>

MyTreeView::MyTreeView(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
    : clThemedTreeCtrl(parent, id, pos, size, 0)
{
    clSortFunc_t SortFunc = [&](clRowEntry* itemA, clRowEntry* itemB) {
        ItemData* a = dynamic_cast<ItemData*>(itemA->GetClientObject());
        ItemData* b = dynamic_cast<ItemData*>(itemB->GetClientObject());
        if(a->IsFolder() && b->IsFile())
            return true;
        else if(b->IsFolder() && a->IsFile())
            return false;
        return (a->GetDisplayName().CmpNoCase(b->GetDisplayName()) < 0);
    };
    SetSortFunction(SortFunc);
}

MyTreeView::~MyTreeView() {}