2 * Copyright 2003 Martin Fuchs
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 // Martin Fuchs, 23.07.2003
29 #define COLOR_COMPRESSED RGB(0,0,255)
30 #define COLOR_SELECTION RGB(0,0,128)
33 #define IDW_TREE_LEFT 3
34 #define IDW_TREE_RIGHT 6
35 #define IDW_HEADER_LEFT 2
36 #define IDW_HEADER_RIGHT 5
43 COL_ATTRIBUTES = 0x08,
47 COL_ALL = COL_SIZE|COL_DATE|COL_TIME|COL_ATTRIBUTES|COL_DOSNAMES|COL_INDEX|COL_LINKS
55 void init_output(HWND hwnd);
56 void output_text(LPDRAWITEMSTRUCT dis, int* positions, int col, LPCTSTR str, DWORD flags);
57 void output_tabbed_text(LPDRAWITEMSTRUCT dis, int* positions, int col, LPCTSTR str);
58 void output_number(LPDRAWITEMSTRUCT dis, int* positions, int col, LPCTSTR str);
66 struct Pane : public SubclassedWindow
68 typedef SubclassedWindow super;
70 Pane(HWND hparent, int id, int id_header, Entry* rool, bool treePane, int visible_cols);
74 int _positions[COLUMNS+1];
76 WindowHandle _hwndHeader;
85 bool create_header(HWND parent, int id);
87 bool calc_widths(bool anyway);
88 void calc_single_width(int col);
89 void draw_item(LPDRAWITEMSTRUCT dis, Entry* entry, int calcWidthCol=-1);
91 void insert_entries(Entry* dir, int idx);
92 BOOL command(UINT cmd);
93 int Notify(int id, NMHDR* pnmh);
96 LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam);
98 void calc_width(LPDRAWITEMSTRUCT dis, int col, LPCTSTR str);
99 void calc_tabbed_width(LPDRAWITEMSTRUCT dis, int col, LPCTSTR str);
100 MainFrame* get_frame();
104 OutputWorker _out_wrkr;