예제 #1
0
CServerBrowser::~CServerBrowser( void )
{
	// Delete the gui items
	SAFE_DELETE( m_pStatusLabel );
	SAFE_DELETE( m_pMessageBox );
	SAFE_DELETE( m_pLockedImage );
	SAFE_DELETE( m_pStatus );
	SAFE_DELETE( m_pPlayers );
	SAFE_DELETE( m_pFavourite );
	SAFE_DELETE( m_pConnect );
	SAFE_DELETE( m_pRefresh );
	SAFE_DELETE( m_pTabs );
	SAFE_DELETE( m_pWindow );

	// Delete the quick connect gui
	SAFE_DELETE ( m_pQuickConnectCancel );
	SAFE_DELETE ( m_pQuickConnectSubmit );
	SAFE_DELETE ( m_pQuickConnectPassword );
	SAFE_DELETE ( m_pQuickConnectPort );
	SAFE_DELETE ( m_pQuickConnectAddress );
	SAFE_DELETE ( m_pQuickConnectLabel );
	SAFE_DELETE ( m_pQuickConnectWindow );

	// Delete the server password instance
	SAFE_DELETE ( m_pServerPassword );
	
	// Delete the server query instance
	SAFE_DELETE ( m_pServerQuery );

	// Delete the masterlist instance
	SAFE_DELETE( m_pMasterList );

	// Delete the tabs
	DeleteTab( INTERNET );
	DeleteTab( HOSTED );
	DeleteTab( FAVOURITES );
	DeleteTab( HISTORY );
}
예제 #2
0
void
JXTabGroup::HandleMouseUp
	(
	const JPoint&			pt,
	const JXMouseButton		button,
	const JXButtonStates&	buttonStates,
	const JXKeyModifiers&	modifiers
	)
{
	if (itsDragAction == kClose)
		{
		if (button == kJXLeftButton && itsClosePushedFlag &&
			OKToDeleteTab(itsMouseIndex))
			{
			DeleteTab(itsMouseIndex);
			}
		}

	itsScrollUpPushedFlag = itsScrollDownPushedFlag = itsClosePushedFlag = kJFalse;
	Refresh();
}
void CGraphicTabControl::ChangeTabClient( int iTab, CWnd* pClient )
{
	if( m_bChangingClient )
		return;
	ASSERT_RETURN( iTab >= 0 && iTab < GetTabCount() && pClient != NULL );

	if( TabExists( pClient ) ) {
		// make sure window is shown and update tab bar layout
		pClient->ShowWindow(SW_SHOW);
		RecalcLayout();
		UpdateWindow();
		return;  // nothing to do
	}

	SECTab* ptab = GetTabPtr(iTab);
	ASSERT_RETURN( ptab );
	CWnd* pOldClient = (CWnd*)ptab->m_pClient;
	// check to see if we really need to do anything
	if( pOldClient == pClient ) {
		pClient->ShowWindow( SW_SHOW );
		return;
	} 
	m_bChangingClient = true;
	// hide both windows
	pClient->ShowWindow(SW_HIDE);
	pOldClient->ShowWindow(SW_HIDE);
	CString tabName = ptab->m_csLabel;
	InsertTab( iTab, tabName, pClient, NULL, NULL );
	// remove old tab
	ActivateTab( iTab );
	DeleteTab( iTab + 1 );
	pClient->ShowWindow(SW_SHOW);
	RecalcLayout();
	UpdateWindow();
	m_bChangingClient = false;
	return;
}
예제 #4
0
void CGuiMDITabbed::UpdateWindows()
{
	
	/* Modified by SunZhenyu
	SetTimer(1,200,NULL);
	*/
	KillTimer(1);

	CWnd* pWnd=CWnd::FromHandle(::GetTopWindow(GetParentFrame()->GetSafeHwnd()));	
	char ClassName[32];
	
	while (pWnd != NULL)
	{
		::GetClassName(pWnd->GetSafeHwnd(),ClassName,32);
		CString szClassName=ClassName;
		if(szClassName=="MDIClient")
			break;
		pWnd=pWnd->GetNextWindow();
	}
	ASSERT(::IsWindow(pWnd->GetSafeHwnd()));
	//primero adicionar los nuevos
	
	
	CWnd* pChild= CWnd::FromHandle(::GetTopWindow(pWnd->GetSafeHwnd()));	
	while(pChild != NULL)
	{
		CString m_Caption;
		pChild->GetWindowText(m_Caption);
		if (!m_Caption.IsEmpty()) 
		{
			if (!FindItem(pChild->GetSafeHwnd()))
				Addtab(pChild,m_Caption,-1);
			else
				UpdateCaption(pChild,m_Caption);
		}
		
		pChild= CWnd::FromHandle(::GetNextWindow(pChild->GetSafeHwnd(), GW_HWNDNEXT));
		
	}
	
	/* Modified by SunZhenyu */
	// get active child frame, modified 2003/6/19
	CMDIFrameWnd* pFrame = DYNAMIC_DOWNCAST(CMDIFrameWnd, GetParentFrame());
	CMDIChildWnd* pActiveChild = NULL;
	if( pFrame )
		pActiveChild	=	pFrame->MDIGetActive();
	// get active child frame, modified 2003/6/19

	
	//---eliminar las ventanas borradas
	int nNumtabs=GetCount();
	for (int i=0; i< nNumtabs; i++)
	{
			CWnd* pWnd=GetNumWnd(i);
			if (!::IsWindow(HWND(pWnd->GetSafeHwnd())))
			{
				DeleteTab(i);
				UpdateWindow();
				break;
			}
			/* Modified by SunZhenyu */
			// set cur tab by active child frame, modified 2003/6/19
			else if( pWnd->GetSafeHwnd() == pActiveChild->GetSafeHwnd() )
			{
				SetCurtab(i);
			}
			// set cur tab by active child frame, modified 2003/6/19
	}

	SetTimer(1,200,NULL);
}
예제 #5
0
BOOL CKscMainDlg::OnInitDialog(CWindow /*wndFocus*/, LPARAM /*lInitParam*/)
{
	CString	str;
	KAppRes& appRes = KAppRes::Instance();
    CKcsLogging kcsLogging;
    // 清理过期的日志
    kcsLogging.ClearLogFileByDays();

    SetIcon(appRes.GetIcon("IDI_CLEAR_ICON_BIG"), TRUE);
    SetIcon(appRes.GetIcon("IDI_CLEAR_ICON_SMALL"), FALSE);

	RECT rcTest = { 1, 1, 20, 20 };
	m_wndToolVector.Create(GetRichWnd(), &rcTest, NULL, 0, 0, 3888);

	m_wndToolVector.InitTools();

    if (IsTabDisabled(_T("systemslim")))
    {
        DeleteTab(IDC_TAB_MAIN, 5);
    }
    else
    {
        m_handlerSysSlim.Init();
    }

    if (IsTabDisabled(_T("bigfile")))
    {
        DeleteTab(IDC_TAB_MAIN, 4);
    }
    else
    {
        m_handlerBigFile.Init();
    }

    if (IsTabDisabled(_T("regclr")))
    {
        DeleteTab(IDC_TAB_MAIN, 3);
    }
    else
    {

    }

    if (IsTabDisabled(_T("trackclr")))
    {
        DeleteTab(IDC_TAB_MAIN, 2);
    }
    else
    {
        m_handlerOpt.Init();
    }

    if (IsTabDisabled(_T("trashclr")))
    {
        DeleteTab(IDC_TAB_MAIN, 1);
    }
    else
    {
        m_handlerTrashClean.Init();
    }
    
    if (IsTabDisabled(_T("onekey")))
    {
        DeleteTab(IDC_TAB_MAIN, 0);
    }
    else
    {
        m_handlerOnekey.Init();
    }

    SetTabCurSel(IDC_TAB_MAIN, m_nDefaultTab);

	SetItemText(IDC_TXT_PRODUCT_VERSION, _Module.GetAppFileVersion());

	g_hWndKClear = m_hWnd;
	return TRUE;
}
예제 #6
0
void CContainer::OnMouseMove(UINT nHitTest, CPoint point)
{

	if (m_NCDragWindow)
	{
		if( ((nHitTest != HTCAPTION) && (m_DOCKFLOAT !=BS_FLOATING)) && m_TypeTab != TYPE_MDI)
		{
		
			if (!m_NCDragWindow) return; 
		
			CRect rcw;
            GetWindowRect(rcw);		
			ClientToScreen(&point);
			ReleaseCapture();
			m_DOCKFLOAT=BS_FLOATING;
			m_DragTab=FALSE;
			m_NCDragWindow=FALSE;
			UINT uFirstTab=0;
			int iCont=0;
			for (iCont=0; iCont< m_Numtabs;iCont++)
			{
				CTab* ct=(CTab*) m_pArray[iCont];
				if (ct->rect.PtInRect(point) != 0)
				{	
				
					if (iCont==0)
						uFirstTab=((CDockPanelBase*)ct->pParent)->GetDlgCtrlID();
					((CDockPanelBase*)ct->pParent)->uAling=BS_FLOATING;
					((CDockPanelBase*)ct->pParent)->iLasPosition=iCont;
					((CDockPanelBase*)ct->pParent)->bIsPartOfTabbed=iCont==0? FALSE:TRUE;
					((CDockPanelBase*)ct->pParent)->bIsShow=TRUE;
					((CDockPanelBase*)ct->pParent)->m_IdCtrlParent=iCont==0? 0:uFirstTab;	
				
				}
			}

			theApp->m_WinMain->FloatWindow(this,point,rcw);
		
			DockManager* mDoc;
			if (m_DOCKSITE == BS_ALIGN_BOTTOM)
				mDoc=(DockManager*)theApp->m_WinMain->m_DockBottom;
			if (m_DOCKSITE == BS_ALIGN_LEFT)
				mDoc=(DockManager*)theApp->m_WinMain->m_DockLeft;
			if (m_DOCKSITE == BS_ALIGN_RIGHT)
				mDoc=(DockManager*)theApp->m_WinMain->m_DockRight;
			mDoc->DeleteWindow(
			mDoc->FindItem(GetSafeHwnd())
				);
			theApp->m_WinMain->UpdateFrame();

		}
		
		return ;
	}
	if (m_DragTab)
	{
		CTab* ct=(CTab*) m_pArray[m_TabMove];
		if (ct->rect.PtInRect(point) != 0)	
		{
			// we are in the same tab so don't do nothing
			return;
		}
		else
		{
			int iCont;
			for (iCont=0; iCont< m_Numtabs;iCont++)
			{
				CTab* ct=(CTab*) m_pArray[iCont];
				if (ct->rect.PtInRect(point) != 0)
				{	
					m_InTab=TRUE;
					m_DragTab=TRUE; //DragTab
					//umm interchange the pointers
					NewBValArray<CTab*> m_pTemp; 
					CTab* Temp=(CTab*) m_pArray[m_TabMove];
					m_pArray.SetAt(m_TabMove,ct);
					m_pArray.SetAt(iCont,Temp);
					SetCurtab(iCont);
					CToolTip.UpdateTipText(GetSafeHwnd(), ct->lpMsg,CRect(0,0,0,0), m_TabMove+1);
					CToolTip.UpdateTipText(GetSafeHwnd(), Temp->lpMsg,CRect(0,0,0,0), iCont+1);
					m_TabMove=iCont; //This is moved
					
					ReleaseCapture();
					break;
				}
				
			}

			if ((iCont >= m_Numtabs) && (m_TypeTab != TYPE_MDI))
			{
				CRect rcClient;
				GetClientRect(&rcClient);

				CContainer* ctn= new CContainer;
				CTab* ct=(CTab*) m_pArray[m_TabMove];
				ctn->m_pContainer=this;
	
				rcClient.top=ct->rect.top;
				rcClient.bottom=ct->rect.bottom;
			
				if (rcClient.PtInRect(point))
				{
					return;
				}
				if (!ctn->Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,ct->pParent->GetDlgCtrlID()))
					return;
				ctn->Addtab(ct->pParent,ct->lpMsg,ct->nMenu);
				ct->pParent->SetParent(ctn);
			
				//ctn->SetImageList(Image);
				ClientToScreen(&point);
				ctn->m_DOCKFLOAT=BS_FLOATING;
				ctn->m_DOCKSITE=GetWindowLong(GetSafeHwnd(),GWL_ID);
				HWND hwnd=(HWND)GetWindowLong(ct->pParent->GetSafeHwnd(),GWL_HWNDPARENT);
				HWND hWnd1=ctn->GetSafeHwnd();
				CRect rcw;
                GetWindowRect(rcw);	
				theApp->m_WinMain->FloatWindow(ctn,point,rcw);
				m_DragTab=FALSE;
				DeleteTab(m_TabMove);
				if (m_pArray.GetSize() > 0)
				{
					ct=(CTab*) m_pArray[0];
					ct->pParent->ShowWindow(SW_SHOW);
					ct->pParent->SetFocus();
				}
				m_TabMove=-1;
				ReleaseCapture();
			}
	
		}
	}
}