]> source.dussan.org Git - tigervnc.git/commitdiff
Added initialize method to FTListView class.
authorDennis Syrovatsky <dennis@tightvnc.com>
Mon, 7 Nov 2005 08:46:23 +0000 (08:46 +0000)
committerDennis Syrovatsky <dennis@tightvnc.com>
Mon, 7 Nov 2005 08:46:23 +0000 (08:46 +0000)
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

vncviewer/FTListView.cxx
vncviewer/FTListView.h

index 162d7c1ccf8469d820b63e067ff37cac8061bd8a..8b43ba5a5273521feb564573517d213e0e4af129 100644 (file)
 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 @@ FTListView::~FTListView()
 
 
 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 @@ FTListView::initImageList(HINSTANCE hInst)
   
   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);
+}
index ec140153e5820f882c7d67cf85124c85b2b6d1aa..5f4fd6468db7f23aae3ccf041af3607e469ccecc 100644 (file)
 #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 @@ namespace rfb {
       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);
       
     };
   }