Added initialize method to FTListView class.
Deleted ListViewControl class as base class for FTListView class.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@381 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/vncviewer/FTListView.cxx b/vncviewer/FTListView.cxx
index 162d7c1..8b43ba5 100644
--- a/vncviewer/FTListView.cxx
+++ b/vncviewer/FTListView.cxx
@@ -26,9 +26,10 @@
 using namespace rfb;
 using namespace rfb::win32;
 
-FTListView::FTListView(HWND hLV)
+FTListView::FTListView(HWND hListView)
 {
-  m_hListView = hLV;
+  m_bInitialized = false;
+  m_hListView = hListView;
   m_fileInfo.free();
 }
 
@@ -39,9 +40,24 @@
 
 
 bool 
-FTListView::initialize()
+FTListView::initialize(HINSTANCE hInst)
 {
-  return false;
+  if (m_bInitialized) return false;
+
+  initImageList(hInst);
+  
+  RECT Rect;
+  GetClientRect(m_hListView, &Rect);
+  Rect.right -= GetSystemMetrics(SM_CXHSCROLL);
+  int xwidth0 = (int) (0.35 * Rect.right);
+  int xwidth1 = (int) (0.22 * Rect.right);
+  int xwidth2 = (int) (0.43 * Rect.right);
+  
+  addColumn("Name", 0, xwidth0, LVCFMT_LEFT);
+  addColumn("Size", 1, xwidth1, LVCFMT_RIGHT);
+  addColumn("Data", 2, xwidth2, LVCFMT_LEFT);
+  
+  return true;
 }
 
 void 
@@ -175,3 +191,17 @@
   
   ListView_SetImageList(m_hListView, m_hImageList, LVSIL_SMALL); 
 }
+
+void 
+FTListView::addColumn(char *iText, int iOrder, int xWidth, int alignFmt)
+{
+	LVCOLUMN lvc; 
+	lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM | LVCF_ORDER;
+	lvc.fmt = alignFmt;
+	lvc.iSubItem = iOrder;
+	lvc.pszText = iText;	
+	lvc.cchTextMax = 32;
+	lvc.cx = xWidth;
+	lvc.iOrder = iOrder;
+	ListView_InsertColumn(m_hListView, iOrder, &lvc);
+}
diff --git a/vncviewer/FTListView.h b/vncviewer/FTListView.h
index ec14015..5f4fd64 100644
--- a/vncviewer/FTListView.h
+++ b/vncviewer/FTListView.h
@@ -25,26 +25,25 @@
 #define __RFB_WIN32_FTLISTVIEW_H__
 
 #include <windows.h>
+#include <commctrl.h>
 
 #include <rfb/FileInfo.h>
 #include <rfb_win32/FolderManager.h>
-#include <rfb_win32/ListViewControl.h>
 #include <vncviewer/resource.h>
 
 namespace rfb {
   namespace win32{
-    class FTListView : private ListViewControl
+    class FTListView
     {
     public:
-      FTListView(HWND hLV);
+      FTListView(HWND hListView);
       ~FTListView();
 
-      bool initialize();
+      bool initialize(HINSTANCE hInst);
       
       void onGetDispInfo(NMLVDISPINFO *di);
       void addItems(FileInfo *pFI);
       void deleteAllItems();
-      void initImageList(HINSTANCE hInst);
       
       char *getActivateItemName(LPNMITEMACTIVATE lpnmia);
       int getSelectedItems(FileInfo *pFI);
@@ -55,6 +54,11 @@
       HWND m_hListView;
       FileInfo m_fileInfo;
       HIMAGELIST m_hImageList;
+
+      bool m_bInitialized;
+
+      void addColumn(char *iText, int iOrder, int xWidth, int alignFmt);
+      void initImageList(HINSTANCE hInst);
       
     };
   }