39#define IMAGE_HEIGHT 13
78 _visible_cols(visible_cols),
108 child->set_focus_pane(
this);
118 child->switch_focus_pane();
160 HKEY hkeyExplorer = 0;
199 for(cnt=0; cnt<entries; cnt++) {
224 for(col=0; col<
COLUMNS; col++) {
249 if (!anyway &&
_widths[0]<orgWidths[0] &&
250 !
memcmp(orgWidths+1,
_widths+1,
sizeof(orgWidths)-
sizeof(
int))) {
310 attrs =
entry->_data.dwFileAttributes;
314 &&
entry->_data.cFileName[2]==
TEXT(
'\0'))
316 else if (
entry->_data.cFileName[0]==
TEXT(
'.') &&
entry->_data.cFileName[1]==
TEXT(
'\0'))
325 else if (
entry->_type_name)
339 if (calcWidthCol == -1) {
376 if (!following_child)
380 following_child =
true;
403 if (!following_child)
407 following_child =
true;
425 }
else if (calcWidthCol==col || calcWidthCol==
COLUMNS) {
437 if (calcWidthCol==col || calcWidthCol==
COLUMNS)
441 if (calcWidthCol == -1) {
442 focusRect.
left = img_pos -2;
447 textcolor =
RGB(0,0,0);
484 if (calcWidthCol == -1)
486 else if (calcWidthCol==col || calcWidthCol==
COLUMNS)
492 if (calcWidthCol == -1)
494 else if (calcWidthCol==col || calcWidthCol==
COLUMNS)
505 if (calcWidthCol == -1)
507 else if (calcWidthCol==col || calcWidthCol==
COLUMNS)
515 if (calcWidthCol == -1)
517 else if (calcWidthCol==col || calcWidthCol==
COLUMNS)
522 if (calcWidthCol == -1)
524 else if (calcWidthCol==col || calcWidthCol==
COLUMNS)
529 if (calcWidthCol == -1)
531 else if (calcWidthCol==col || calcWidthCol==
COLUMNS)
537 if (
entry->_bhfi_valid) {
543 if (calcWidthCol == -1)
545 else if (calcWidthCol==col || calcWidthCol==
COLUMNS)
554 if (calcWidthCol == -1)
556 else if (calcWidthCol==col || calcWidthCol==
COLUMNS)
586 if (calcWidthCol == -1)
588 else if (calcWidthCol==col || calcWidthCol==
COLUMNS)
624 if (calcWidthCol == -1)
626 else if (calcWidthCol==col || calcWidthCol==
COLUMNS)
634 RECT rt = {0, 0, 0, 0};
644 RECT rt = {0, 0, 0, 0};
676 if (
entry->_data.cFileName[1]==
TEXT(
'\0') ||
712 item.cxy =
x - scroll_pos;
740 for(cnt=0; cnt<entries; cnt++) {
792 int idx = phdn->iItem;
796 ClientRect clnt(_hwnd);
813 rt_scr.
right = clnt.right;
814 rt_scr.
bottom = clnt.bottom;
818 rt_clip.
right = clnt.right;
819 rt_clip.
bottom = clnt.bottom;
821 if (rt_scr.
left < 0) rt_scr.
left = 0;
822 if (rt_clip.
left < 0) rt_clip.
left = 0;
862 _hfont =
CreateFont(-
MulDiv(8,
GetDeviceCaps(WindowCanvas(0),
LOGPIXELSY),72), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
TEXT(
"MS Sans Serif"));
869 WindowCanvas canvas(
hwnd);
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
#define RegCloseKey(hKey)
BOOL WINAPI ImageList_Destroy(HIMAGELIST himl)
BOOL WINAPI ImageList_DrawEx(HIMAGELIST himl, INT i, HDC hdc, INT x, INT y, INT dx, INT dy, COLORREF rgbBk, COLORREF rgbFg, UINT fStyle)
#define FILE_ATTRIBUTE_NORMAL
BOOL WINAPI FileTimeToSystemTime(IN CONST FILETIME *lpFileTime, OUT LPSYSTEMTIME lpSystemTime)
BOOL WINAPI FileTimeToLocalFileTime(IN CONST FILETIME *lpFileTime, OUT LPFILETIME lpLocalFileTime)
#define ATTRIBUTE_SYMBOLIC_LINK
#define ATTRIBUTE_EXECUTABLE
#define PM_GET_FILEWND_PTR
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLboolean GLboolean GLboolean b
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define memcpy(s1, s2, n)
ExplorerGlobals g_Globals
#define ID_VIEW_SELECTED_ATTRIBUTES
#define ID_PREFERED_SIZES
#define ID_VIEW_ALL_ATTRIBUTES
#define Frame_GetMenuInfo(hwnd)
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
INT WINAPI MulDiv(INT nNumber, INT nNumerator, INT nDenominator)
#define FILE_ATTRIBUTE_READONLY
#define FILE_ATTRIBUTE_COMPRESSED
#define FILE_ATTRIBUTE_HIDDEN
#define FILE_ATTRIBUTE_SYSTEM
#define FILE_ATTRIBUTE_OFFLINE
#define FILE_ATTRIBUTE_ARCHIVE
#define FILE_ATTRIBUTE_DIRECTORY
#define FILE_ATTRIBUTE_TEMPORARY
#define LOCALE_USER_DEFAULT
#define FILE_ATTRIBUTE_ENCRYPTED
#define FILE_ATTRIBUTE_SPARSE_FILE
#define FILE_ATTRIBUTE_REPARSE_POINT
#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
static const int g_pos_align[]
static void format_date(const FILETIME *ft, TCHAR *buffer, int visible_cols)
static const TCHAR * g_pos_names[COLUMNS]
#define LBS_DISABLENOSCROLL
#define LBS_OWNERDRAWFIXED
#define LBS_NOINTEGRALHEIGHT
#define HDN_DIVIDERDBLCLICK
#define Header_SetItem(hwndHD, i, phdi)
#define Header_InsertItem(hwndHD, i, phdi)
#define ImageList_LoadBitmap(hi, lpbmp, cx, cGrow, crMask)
base of all file and directory entries
MDI child window displaying file lists.
const Icon & get_icon(int icon_id)
void draw(HDC hdc, int x, int y, int cx, int cy, COLORREF bk_color, HBRUSH bk_brush) const
Explorer frame window base class.
void output_number(LPDRAWITEMSTRUCT dis, int *positions, int col, LPCTSTR str)
void output_text(LPDRAWITEMSTRUCT dis, int *positions, int col, LPCTSTR str, DWORD flags)
void init_output(HWND hwnd)
void output_tabbed_text(LPDRAWITEMSTRUCT dis, int *positions, int col, LPCTSTR str)
void calc_width(LPDRAWITEMSTRUCT dis, int col, LPCTSTR str)
virtual int Notify(int id, NMHDR *pnmh)
bool create_header(HWND parent, int id)
int insert_entries(Entry *dir, int idx=-1)
bool calc_widths(bool anyway)
int _positions[COLUMNS+1]
void draw_item(LPDRAWITEMSTRUCT dis, Entry *entry, int calcWidthCol=-1)
virtual LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
Pane(HWND hparent, int id, int id_header, Entry *rool, bool treePane, int visible_cols)
struct MainFrameBase * get_frame()
void calc_single_width(int col)
void calc_tabbed_width(LPDRAWITEMSTRUCT dis, int col, LPCTSTR str)
virtual LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
virtual int Notify(int id, NMHDR *pnmh)
#define SelectFont(hdc, hfont)
#define SetWindowFont(hwnd, hfont, fRedraw)
#define ListBox_GetItemData(hwndCtl, index)
#define ListBox_InsertItemData(hwndCtl, index, data)
#define ListBox_SetSel(hwndCtl, fSelect, index)
#define ListBox_GetCount(hwndCtl)
#define ListBox_SetHorizontalExtent(hwndCtl, cxExtent)
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
HRGN WINAPI CreateRectRgn(_In_ int, _In_ int, _In_ int, _In_ int)
#define GetTextExtentPoint32
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
int WINAPI GetClipRgn(_In_ HDC, _In_ HRGN)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
HRGN WINAPI CreateRectRgnIndirect(_In_ LPCRECT)
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
int WINAPI SelectClipRgn(_In_ HDC, _In_opt_ HRGN)
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
int WINAPI ExtSelectClipRgn(_In_ HDC, _In_opt_ HRGN, _In_ int)
#define HKEY_CURRENT_USER
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
DWORD WINAPI GetSysColor(_In_ int)
BOOL WINAPI RedrawWindow(_In_opt_ HWND, _In_opt_ LPCRECT, _In_opt_ HRGN, _In_ UINT)
DWORD WINAPI CheckMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
#define COLOR_HIGHLIGHTTEXT
HDC WINAPI GetDC(_In_opt_ HWND)
HWND WINAPI GetParent(_In_ HWND)
int WINAPI GetScrollPos(_In_ HWND, _In_ int)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
int WINAPI ScrollWindowEx(_In_ HWND, _In_ int, _In_ int, _In_opt_ LPCRECT, _In_opt_ LPCRECT, _In_opt_ HRGN, _Out_opt_ LPRECT, _In_ UINT)
int WINAPI GetSystemMetrics(_In_ int)