mirror of
https://github.com/levinsv/pgadmin3.git
synced 2026-05-15 14:15:49 -06:00
init
This commit is contained in:
commit
9c6f9f3405
1784 changed files with 440662 additions and 0 deletions
145
ctl/ctlListView.cpp
Normal file
145
ctl/ctlListView.cpp
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
//////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// pgAdmin III - PostgreSQL Tools
|
||||
//
|
||||
// Copyright (C) 2002 - 2016, The pgAdmin Development Team
|
||||
// This software is released under the PostgreSQL Licence
|
||||
//
|
||||
// ctlListView.cpp - enhanced listview control
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "pgAdmin3.h"
|
||||
|
||||
// wxWindows headers
|
||||
#include <wx/wx.h>
|
||||
#include <wx/imaglist.h>
|
||||
|
||||
// App headers
|
||||
#include "ctl/ctlListView.h"
|
||||
#include "utils/misc.h"
|
||||
|
||||
|
||||
ctlListView::ctlListView(wxWindow *p, int id, wxPoint pos, wxSize siz, long attr)
|
||||
: wxListView(p, id, pos, siz, attr | wxLC_REPORT)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
long ctlListView::GetSelection()
|
||||
{
|
||||
return GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
|
||||
}
|
||||
|
||||
|
||||
wxString ctlListView::GetText(long row, long col)
|
||||
{
|
||||
wxListItem item;
|
||||
item.SetId(row);
|
||||
item.SetColumn(col);
|
||||
item.SetMask(wxLIST_MASK_TEXT);
|
||||
GetItem(item);
|
||||
return item.GetText();
|
||||
};
|
||||
|
||||
|
||||
void ctlListView::AddColumn(const wxString &text, int size, int format)
|
||||
{
|
||||
if (size == wxLIST_AUTOSIZE || size == wxLIST_AUTOSIZE_USEHEADER)
|
||||
{
|
||||
InsertColumn(GetColumnCount(), text, format, size);
|
||||
}
|
||||
else
|
||||
{
|
||||
InsertColumn(GetColumnCount(), text, format, ConvertDialogToPixels(wxPoint(size, 0)).x);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
long ctlListView::AppendItem(int icon, const wxString &val, const wxString &val2, const wxString &val3, const wxString &val4)
|
||||
{
|
||||
long pos = InsertItem(GetItemCount(), val, icon);
|
||||
if (!val2.IsEmpty())
|
||||
SetItem(pos, 1, val2);
|
||||
if (!val3.IsEmpty())
|
||||
SetItem(pos, 2, val3);
|
||||
if (!val4.IsEmpty())
|
||||
SetItem(pos, 3, val4);
|
||||
|
||||
return pos;
|
||||
}
|
||||
|
||||
|
||||
void ctlListView::CreateColumns(wxImageList *images, const wxString &left, const wxString &right, int leftSize)
|
||||
{
|
||||
int rightSize;
|
||||
if (leftSize < 0)
|
||||
{
|
||||
#ifdef __WXMAC__
|
||||
leftSize = rightSize = (GetParent()->GetSize().GetWidth() - 20) / 2;
|
||||
#else
|
||||
leftSize = rightSize = GetSize().GetWidth() / 2;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
if (leftSize)
|
||||
leftSize = ConvertDialogToPixels(wxPoint(leftSize, 0)).x;
|
||||
|
||||
#ifdef __WXMAC__
|
||||
rightSize = (GetParent()->GetSize().GetWidth() - 20) - leftSize;
|
||||
#else
|
||||
rightSize = GetClientSize().GetWidth() - leftSize;
|
||||
#endif
|
||||
}
|
||||
if (!leftSize)
|
||||
{
|
||||
InsertColumn(0, left, wxLIST_FORMAT_LEFT, GetClientSize().GetWidth());
|
||||
}
|
||||
else
|
||||
{
|
||||
InsertColumn(0, left, wxLIST_FORMAT_LEFT, leftSize);
|
||||
InsertColumn(1, right, wxLIST_FORMAT_LEFT, rightSize);
|
||||
}
|
||||
|
||||
if (images)
|
||||
SetImageList(images, wxIMAGE_LIST_SMALL);
|
||||
}
|
||||
|
||||
|
||||
void ctlListView::CreateColumns(wxImageList *images, const wxString &str1, const wxString &str2, const wxString &str3, int leftSize)
|
||||
{
|
||||
int rightSize;
|
||||
if (leftSize < 0)
|
||||
{
|
||||
#ifdef __WXMAC__
|
||||
leftSize = rightSize = (GetParent()->GetSize().GetWidth() - 20) / 2;
|
||||
#else
|
||||
leftSize = rightSize = GetSize().GetWidth() / 2;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
if (leftSize)
|
||||
leftSize = ConvertDialogToPixels(wxPoint(leftSize, 0)).x;
|
||||
|
||||
#ifdef __WXMAC__
|
||||
rightSize = (GetParent()->GetSize().GetWidth() - 20) - leftSize;
|
||||
#else
|
||||
rightSize = GetClientSize().GetWidth() - leftSize;
|
||||
#endif
|
||||
}
|
||||
if (!leftSize)
|
||||
{
|
||||
InsertColumn(0, str1, wxLIST_FORMAT_LEFT, GetClientSize().GetWidth());
|
||||
}
|
||||
else
|
||||
{
|
||||
InsertColumn(0, str1, wxLIST_FORMAT_LEFT, leftSize);
|
||||
InsertColumn(1, str2, wxLIST_FORMAT_LEFT, rightSize / 2);
|
||||
InsertColumn(2, str3, wxLIST_FORMAT_LEFT, rightSize / 2);
|
||||
}
|
||||
|
||||
if (images)
|
||||
SetImageList(images, wxIMAGE_LIST_SMALL);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue