コード例 #1
0
ファイル: BOINCBaseView.cpp プロジェクト: DanAurea/boinc
void CBOINCBaseView::OnColClick(wxListEvent& event) {
    wxListItem      item;
    int             newSortColIndex = event.GetColumn();
    int             oldSortColIndex = -1;
    
    if (newSortColIndex < 0) return;  // Clicked past last column
    
    if (m_iSortColumnID >= 0) {
        oldSortColIndex = m_iColumnIDToColumnIndex[m_iSortColumnID];
    }
    
    item.SetMask(wxLIST_MASK_IMAGE);
    if (newSortColIndex == oldSortColIndex) {
        m_bReverseSort = !m_bReverseSort;
        SetSortColumn(newSortColIndex);
    } else {
        // Remove sort arrow from old sort column

        if (oldSortColIndex >= 0) {
            item.SetImage(-1);
            m_pListPane->SetColumn(oldSortColIndex, item);
        }
        m_iSortColumnID = m_iColumnIndexToColumnID[newSortColIndex];
        m_bReverseSort = false;

        SetSortColumn(newSortColIndex);
    }
    
    // Write the change to the registry
    // Do this here because SetListColumnOrder() can call SetSortColumn()
    // even when neither m_iSortColumnID nor m_bReverseSort changes
    wxConfigBase* pConfig = wxConfigBase::Get(false);
    pConfig->SetPath(wxT("/") + GetViewName());
    m_pListPane->OnSaveState(pConfig);
}
コード例 #2
0
ファイル: MyClientMainView.cpp プロジェクト: lzm-cn/PCShare
void CMyClientMainView::OnInitialUpdate()
{
	CListViewEx::OnInitialUpdate();

	if(m_imagelist.GetSafeHandle())	return;

	CListCtrl& lcCountries = GetListCtrl();

	m_imagelist.Create(16, 16,ILC_COLOR24 |ILC_MASK,6,6);
	m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON_COMPUTER));
	m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON_COMPUTER));
	m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON_VIDEO));
	
	lcCountries.SetImageList(&m_imagelist,LVSIL_SMALL);
	lcCountries.InsertColumn(0,"已连接的客户列表",LVCFMT_LEFT,104);
	lcCountries.InsertColumn(1,"客户注释",LVCFMT_LEFT,60);
	lcCountries.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP|
		LVS_EX_ONECLICKACTIVATE | LVS_EX_UNDERLINEHOT |LVS_EX_SUBITEMIMAGES);

	EnableColumnHiding(0, true);
	EnableColumnHiding(1, true);
	EnableSortIcon (1);
	ColorSortColumn(1);
	SetSortColumn  (1);
	KeepLabelLeft  ();
	lcCountries.SortItems(CompareCountries, (LPARAM) this);
}
コード例 #3
0
void
PackageListView::AllAttached()
{
    BColumnListView::AllAttached();

    SetSortingEnabled(true);
    SetSortColumn(ColumnAt(0), false, true);
}
コード例 #4
0
//  Operations
	bool DoSortItems(int iCol, bool bDescending = false)
	{
		HAL_DEV_SORT_MSG(hal::wform(L"DoSortItems(int iCol = %1%, bool bDescending = %2%)") % iCol % bDescending);

		T* pT = static_cast<T*>(this);
		ATLASSERT(::IsWindow(pT->m_hWnd));
		ATLASSERT(iCol >= 0 && iCol < m_arrColSortType.GetSize());

		WORD wType = m_arrColSortType[iCol];
		if(wType == WTL::LVCOLSORT_NONE)
			return false;
		else if (wType <= WTL::LVCOLSORT_LAST)
		{
			HAL_DEV_SORT_MSG(hal::wform(L"wType = %1%, passing DoSort() to base class") % wType);
			return WTL::CSortListViewImpl<T>::DoSortItems(iCol, bDescending);
		}

		int nCount = pT->GetItemCount();
		if(nCount < 2)
		{
			m_bSortDescending = bDescending;
			SetSortColumn(iCol);
			return true;
		}

		WTL::CWaitCursor waitCursor(false);
		if(m_bUseWaitCursor)
			waitCursor.Set();

		bool bRet = pT->DoSortItemsExternal(iCol, bDescending);

		if(bRet)
		{
			m_bSortDescending = bDescending;
			SetSortColumn(iCol);
		}

		if(m_bUseWaitCursor)
			waitCursor.Restore();

		return bRet;
	}
コード例 #5
0
ファイル: PropertyList.cpp プロジェクト: mmanley/Antares
PropertyList::PropertyList(const char* name)
	: BColumnListView(BRect(0.0, 0.0, 1.0, 1.0), name, B_FOLLOW_ALL, 0,
		B_NO_BORDER, true)
{
	BStringColumn* nameColumn;
	AddColumn(nameColumn = new BStringColumn("Name", 150, 50, 500,
			B_TRUNCATE_MIDDLE),
		kNameColumn);
	AddColumn(new BStringColumn("Value", 150, 50, 500, B_TRUNCATE_END),
		kValueColumn);
	SetSortColumn(nameColumn, false, true);
}
コード例 #6
0
void        InitSortMenu( HWND hwnd)

{
    SHORT       pos;
    ULONG       ctr;
    HWND        hMenu;
    MENUITEM    mi;

    SetSortIndicatorMenu( hwnd, 0);

    // get the Sort submenu
    hMenu = WinWindowFromID( hwnd, FID_MENU);
    WinSendMsg( hMenu, MM_QUERYITEM, MPFROM2SHORT( IDM_SORT, 0), &mi);
    hMenu = mi.hwndSubMenu;

    pos = SHORT1FROMMR( WinSendMsg( hMenu, MM_ITEMPOSITIONFROMID,
                                    MPFROM2SHORT( IDM_SORTFIRST, 0), 0));
    if (pos < 0)
        pos = 2;

    for (ctr = 0; ctr < eCNTCOLS; ctr++)
        if (SHORT1FROMMR( WinSendMsg( hMenu, MM_DELETEITEM,
                          MPFROM2SHORT( IDM_SORTFIRST + ctr, 0), 0) <= 0)) {
            printf( "InitSortMenu - early exit, ctr= %d\n", (int)ctr);
            break;
        }

    mi.afStyle = MIS_TEXT;
    mi.hwndSubMenu = 0;
    mi.hItem = 0;

    // insert a menuitem for each column
    for (ctr = 0; ctr < eCNTCOLS; ctr++, pos++) {
        mi.iPosition = pos;
        if (ciX[ctr]->flags & CIF_INVISIBLE)
            mi.afAttribute = MIA_DISABLED | MIA_NODISMISS;
        else
            mi.afAttribute = MIA_NODISMISS;
        mi.id = (USHORT)(IDM_SORTFIRST + (ciX[ctr]->flags & CIF_NDXMASK));

        WinSendMsg( hMenu, MM_INSERTITEM, (MP)&mi, (MP)ciX[ctr]->pszMenu);
    }

    // update the sort info without changing the sort column or direction
    SetSortColumn( hwnd, (ULONG)-1);

    return;
}
コード例 #7
0
int CActiveMemberGrid::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CIBAGrid::OnCreate(lpCreateStruct) == -1)
		return -1;

	CBitmap bmp;
	bmp.LoadBitmap(IDB_NETBARUSER);

	m_Images.Create(16, 16, ILC_COLOR24 | ILC_MASK, 0, 0);
	m_Images.Add(&bmp, RGB(250, 50, 250));
	SetImageList(&m_Images);

	SetRowMarker(FALSE);
	EnableHeader(TRUE, BCGP_GRID_HEADER_SORT | BCGP_GRID_HEADER_MOVE_ITEMS);
	EnableMarkSortedColumn(FALSE, FALSE);

	if (CIBAConfig::GetInstance()->GetFontType() > 0)
	{
		CIBAHelpper::CreateFont(m_TextFont);
		SetFont(&m_TextFont);
	}

	InitColumnHead();

	SetTimer(TimeIdOfUpdateTime, IntervalOfUpdateTime, NULL);
	SetSortColumn(3, FALSE); //激活时间
	LoadState(_T("ActiveMemberGrid"));//从注册表载入

	AdjustLayout();

	

	m_lpActiveMemberList->SetWndGrid(GetSafeHwnd());
	m_lpActiveMemberList->Start();

	SetTimer(TimerIdOfBundleTimeTry, IntervalOfBundleTimeTry, NULL);

	return 0;
}
コード例 #8
0
void        CloseOptsDlg( HWND hwnd, BOOL fSave)

{
    HWND        hLB;
    char *      ptr;
    ULONG       ctr;

do
{
    if (fSave == FALSE)
        break;

    fRestoreDefaults = (BOOL)WinSendDlgItemMsg( hwnd, IDC_RESTOREDEF,
                                                BM_QUERYCHECK, 0, 0);

    SetSortIndicators( (BOOL)WinSendDlgItemMsg(
                             hwnd, IDC_LITERAL, BM_QUERYCHECK, 0, 0));

    hLB = WinWindowFromID( hwnd, IDC_SORTORDER);

    for (ctr=0; ctr < VIEWCNT; ctr++)
    {
        ptr = (char *)WinSendMsg( hLB, LM_QUERYITEMHANDLE, (MP)ctr, 0);
        if (ptr == 0)
            break;

        apszView[ctr] = ptr;
    }

    // update the sort info without changing the sort column or direction
    SetSortColumn( (ULONG)-1);

} while (fFalse);

    WinDismissDlg( hwnd, 0);

    return;
}
コード例 #9
0
CFileListManager::CFileListManager( vgui::Panel *parent ) : BaseClass( parent, "FileListManager" )
{
	SetMultiselectEnabled( true );
	SetVisible( true );
	m_bRefreshRequired = false;

	SetSize( 800, 200 );
	SetPos( 100, 100 );

	AddColumn( this, CI_FILENAME );
	AddColumn( this, CI_PATH );
	AddColumn( this, CI_LOADED );
	AddColumn( this, CI_NUMELEMENTS );
	AddColumn( this, CI_CHANGED );
	AddColumn( this, CI_INPERFORCE );
	AddColumn( this, CI_OPENFOREDIT );

	SetSortColumn( 0 );

	Refresh();

	SetScheme( vgui::scheme()->LoadSchemeFromFile( "Resource/BoxRocket.res", "BoxRocket" ) );
//	LoadControlSettings( "resource/BxFileListManager.res" );
}
コード例 #10
0
ファイル: RssView.cpp プロジェクト: dpnchl/newzflow2
CRssView::CRssView()
{
	m_feedId = 0;
	SetSortColumn(kDate, false);
}
コード例 #11
0
ファイル: ListView1.cpp プロジェクト: carriercomm/Helios
void ListView1::SetDataCDList() {
	while (CountRows()>0) RemoveRow(0);
	while (CountColumns()>0) {
		BColumn	*col=ColumnAt(0);
		//SetColumnVisible(col, true);
		RemoveColumn(col);
/*
		switch(col->LogicalFieldNum()) {
			case TRACKNUMBER_FIELD: {
				((Application1 *)be_app)->CM->SetInt16(TRACKNUMBERCOLUMN_WIDTH, (int16)col->Width());
				break;
			}
			case TRACKNAME_FIELD: {
				((Application1 *)be_app)->CM->SetInt16(TRACKNAMECOLUMN_WIDTH, (int16)col->Width());
				break;
			}
			case LENGTH_FIELD: {
				((Application1 *)be_app)->CM->SetInt16(LENGTHCOLUMN_WIDTH, (int16)col->Width());
				break;
			}
			case BYTES_FIELD: {
				((Application1 *)be_app)->CM->SetInt16(BYTESCOLUMN_WIDTH, (int16)col->Width());
				break;
			}
			case INDEX_FIELD: {
				((Application1 *)be_app)->CM->SetInt16(INDEXCOLUMN_WIDTH, (int16)col->Width());
				break;
			}
			case CDTEXT_FIELD: {
				((Application1 *)be_app)->CM->SetInt16(CDTEXTCOLUMN_WIDTH, (int16)col->Width());
				break;
			}
			default: {
				break;
			}
		}
*/
		delete col;
	}
	
	SetSortingEnabled(true);
	AddColumn(new BBitmapColumn(_T("Icon"), // "FILEICONCOLUMN_TITLE"
				18.0,18.0,18.0, B_ALIGN_CENTER), ICON_FIELD);
	AddColumn(new BFileColumn(_T("File name"), // "FILENAMECOLUMN_TITLE"
				200.0, 60.0, 900.0,0), FILENAME_FIELD);
	AddColumn(new BSizeColumn(_T("Size"), // "SIZECOLUMN_TITLE"
				50.0, 20.0, 120.0,B_ALIGN_RIGHT), SIZE_FIELD);
	ColumnAt(FILENAME_FIELD)->SetEditFlags(B_EDIT_EXIT_RETURN);
	ColumnAt(FILENAME_FIELD)->SetColumnFlags(ColumnAt(FILENAME_FIELD)->GetColumnFlags() | B_ALLOW_COLUMN_EDIT);
	ColumnAt(ICON_FIELD)->SetColumnFlags(B_ALLOW_COLUMN_NONE);
	ColumnAt(ICON_FIELD)->SetShowHeading(false);
	SetSortColumn(ColumnAt(FILENAME_FIELD), false, true);
	for (int32 i=0; i<CountColumns(); i++) {
		SetColumnVisible(ColumnAt(i), true);
	}
	for (int32 i=0; i<CountColumns(); i++) {
		SetColumnVisible(ColumnAt(i), false);
	}
	for (int32 i=0; i<CountColumns(); i++) {
		SetColumnVisible(ColumnAt(i), true);
	}
}
コード例 #12
0
void        Command( HWND hwnd, ULONG ulCmd)

{
    switch (ulCmd)
    {
        case IDM_DELETE:
            ToggleDelete();
        break;

        case IDM_DELETEALL:
            SetDelete( TRUE);
        break;

        case IDM_UNDELETEALL:
            SetDelete( FALSE);
        break;

        case IDM_OPEN:
            OpenObject( hwnd);
        break;

        case IDM_LOCATE:
            LocateObject( hwnd);
        break;

        case IDM_MENU:
            ShowObjMenu( hwnd);
        break;

        case IDM_SORTDEL:
        case IDM_SORTNBR:
        case IDM_SORTVIEW:
        case IDM_SORTTITLE:
        case IDM_SORTSIZE:
        case IDM_SORTKEY:
        case IDM_SORTPATH:
            SetSortColumn( ulCmd - IDM_SORTFIRST);
            break;

        case IDM_SORTDONE:
            break;

        case IDM_GETDATA:
            if (SaveChanges( "Reload", TRUE))
                GetData();
            break;

        case IDM_RESETCOL:
            ResetColumnWidths();
            break;

        case IDM_SAVE:
            SaveChanges( "Save now", FALSE);
            break;

        case IDM_OPTDLG:
            WinDlgBox( HWND_DESKTOP,       // parent-window
                       hwnd,               // owner-window
                       OptionsDlgProc,     // dialog proc
                       NULLHANDLE,         // EXE module handle
                       IDD_OPTIONS,        // dialog id
                       NULL);              // pointer to create params
            break;
    }

    return;
}