File: clFileViwerTreeCtrl.cpp

package info (click to toggle)
codelite 12.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 95,112 kB
  • sloc: cpp: 424,040; ansic: 18,284; php: 9,569; lex: 4,186; yacc: 2,820; python: 2,294; sh: 312; makefile: 51; xml: 13
file content (37 lines) | stat: -rw-r--r-- 1,230 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "clFileViwerTreeCtrl.h"

IMPLEMENT_DYNAMIC_CLASS(clFileViewerTreeCtrl, wxTreeCtrl)

clFileViewerTreeCtrl::clFileViewerTreeCtrl(wxWindow* parent,
                                         wxWindowID id,
                                         const wxPoint& pos,
                                         const wxSize& size,
                                         long style)
    : wxTreeCtrl(parent, id, pos, size, style)
{
}

clFileViewerTreeCtrl::clFileViewerTreeCtrl() {}

clFileViewerTreeCtrl::~clFileViewerTreeCtrl() {}

int clFileViewerTreeCtrl::OnCompareItems(const clTreeCtrlData* a, const clTreeCtrlData* b)
{
    // if dir and other is not, dir has preference
    if(a->IsFolder() && b->IsFile())
        return -1;
    else if(b->IsFolder() && a->IsFile())
        return 1;
    return a->GetName().CmpNoCase(b->GetName());
}

int clFileViewerTreeCtrl::OnCompareItems(const wxTreeItemId& item1, const wxTreeItemId& item2)
{
    if(!item1.IsOk() || !item2.IsOk())
        return wxTreeCtrl::OnCompareItems(item1, item2);

    clTreeCtrlData *a = static_cast<clTreeCtrlData*>(GetItemData(item1));
    clTreeCtrlData *b = static_cast<clTreeCtrlData*>(GetItemData(item2));
    
    return OnCompareItems(a, b);
}