Main Page | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

CTexWnd Class Reference

#include <TexWnd.h>

Inheritance diagram for CTexWnd:

Inheritance graph
[legend]
Collaboration diagram for CTexWnd:

Collaboration graph
[legend]

Public Member Functions

 CTexWnd ()
void FocusEdit ()
void UpdateFilter (const char *pFilter)
void UpdatePrefs ()
virtual ~CTexWnd ()

Protected Member Functions

afx_msg int OnCreate (LPCREATESTRUCT lpCreateStruct)
afx_msg void OnKeyDown (UINT nChar, UINT nRepCnt, UINT nFlags)
afx_msg void OnKeyUp (UINT nChar, UINT nRepCnt, UINT nFlags)
afx_msg void OnPaint ()
afx_msg void OnParentNotify (UINT message, LPARAM lParam)
afx_msg void OnShaderClick ()
afx_msg void OnSize (UINT nType, int cx, int cy)
afx_msg void OnTexturesFlush ()
afx_msg void OnTimer (UINT nIDEvent)
afx_msg void OnVScroll (UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)
virtual BOOL PreCreateWindow (CREATESTRUCT &cs)

Protected Attributes

bool m_bNeedRange
CTexEdit m_wndFilter
CButton m_wndShaders

Private Member Functions

 DECLARE_DYNCREATE (CTexWnd)

Constructor & Destructor Documentation

CTexWnd  ) 
 

Definition at line 2660 of file TexWnd.cpp.

References m_bNeedRange.

02661 {
02662   m_bNeedRange = true;
02663 }

~CTexWnd  )  [virtual]
 

Definition at line 2665 of file TexWnd.cpp.

02666 {
02667 }


Member Function Documentation

DECLARE_DYNCREATE CTexWnd   )  [private]
 

void FocusEdit  ) 
 

Definition at line 2922 of file TexWnd.cpp.

References m_wndFilter.

Referenced by SetInspectorMode().

02923 {
02924   if (m_wndFilter.IsWindowVisible())
02925     m_wndFilter.SetFocus();
02926 }

afx_msg int OnCreate LPCREATESTRUCT  lpCreateStruct  )  [protected]
 

void OnKeyDown UINT  nChar,
UINT  nRepCnt,
UINT  nFlags
[protected]
 

Definition at line 2937 of file TexWnd.cpp.

References g_pParentWnd, and CMainFrame::HandleKey.

02938 {
02939   g_pParentWnd->HandleKey(nChar, nRepCnt, nFlags);
02940     //CWnd::OnKeyDown(nChar, nRepCnt, nFlags);
02941 }

void OnKeyUp UINT  nChar,
UINT  nRepCnt,
UINT  nFlags
[protected]
 

Definition at line 2943 of file TexWnd.cpp.

References g_pParentWnd, and CMainFrame::HandleKey.

02944 {
02945   g_pParentWnd->HandleKey(nChar, nRepCnt, nFlags, false);
02946 }

void OnPaint  )  [protected]
 

Definition at line 2948 of file TexWnd.cpp.

References QEGlobals_t::d_texturewin, g_nTextureOffset, g_PrefsDlg, g_qeglobals, m_bNeedRange, CPrefsDlg::m_bTextureScrollbar, texturewin_t::m_nTotalHeight, s_hdcTexture, s_hglrcTexture, Sys_Printf(), Texture_Draw2(), and TRUE.

02949 {
02950     CPaintDC dc(this); // device context for painting
02951   CRect rctClient;
02952   GetClientRect(rctClient);
02953   int nOld = g_qeglobals.d_texturewin.m_nTotalHeight;
02954   if (!qwglMakeCurrent(s_hdcTexture, s_hglrcTexture))
02955   //if ( !qwglMakeCurrent(dc.m_hDC, s_hglrcTexture ) )
02956   {
02957     Sys_Printf("ERROR: wglMakeCurrent failed..\n ");
02958     Sys_Printf("Please restart Q3Radiant if the Texture view is not working\n");
02959   }
02960   else
02961   {
02962     Texture_Draw2 (rctClient.right-rctClient.left, rctClient.bottom-rctClient.top - g_nTextureOffset);
02963         qwglSwapBuffers(s_hdcTexture);
02964     TRACE("Texture Paint\n");
02965   }
02966   if (g_PrefsDlg.m_bTextureScrollbar && (m_bNeedRange || g_qeglobals.d_texturewin.m_nTotalHeight != nOld))
02967   {
02968     m_bNeedRange = false;
02969     SetScrollRange(SB_VERT, 0, g_qeglobals.d_texturewin.m_nTotalHeight, TRUE);
02970   }
02971 }

Here is the call graph for this function:

afx_msg void OnParentNotify UINT  message,
LPARAM  lParam
[protected]
 

afx_msg void OnShaderClick  )  [protected]
 

afx_msg void OnSize UINT  nType,
int  cx,
int  cy
[protected]
 

void OnTexturesFlush  )  [protected]
 

Definition at line 3022 of file TexWnd.cpp.

03023 {
03024     // TODO: Add your command handler code here
03025     
03026 }

void OnTimer UINT  nIDEvent  )  [protected]
 

Definition at line 2928 of file TexWnd.cpp.

References QEGlobals_t::d_hwndEntity, g_nTimerHandle, and g_qeglobals.

02929 {
02930   KillTimer(1);
02931   g_nLastLen = 0;
02932   g_nTimerHandle = -1;
02933   ::SetFocus(g_qeglobals.d_hwndEntity);
02934   ::PostMessage(g_qeglobals.d_hwndEntity, WM_CHAR, g_cLastChar, 0);
02935 }

void OnVScroll UINT  nSBCode,
UINT  nPos,
CScrollBar *  pScrollBar
[protected]
 

Definition at line 2973 of file TexWnd.cpp.

References QEGlobals_t::d_texturewin, g_qeglobals, texturewin_t::height, texturewin_t::m_nTotalHeight, n, and texturewin_t::originy.

02974 {
02975     CWnd::OnVScroll(nSBCode, nPos, pScrollBar);
02976 
02977   int n = GetScrollPos(SB_VERT);;
02978   switch (nSBCode)
02979   {
02980     case SB_LINEUP :
02981     {
02982       n = (n - 15 >  0) ? n - 15 : 0; 
02983       break;
02984     }
02985     case SB_LINEDOWN :
02986     {
02987       n = (n + 15 < g_qeglobals.d_texturewin.m_nTotalHeight) ? n + 15 : n; 
02988       break;
02989     }
02990     case SB_PAGEUP :
02991     {
02992       n = (n - g_qeglobals.d_texturewin.height >  0) ? n - g_qeglobals.d_texturewin.height : 0; 
02993       break;
02994     }
02995     case SB_PAGEDOWN :
02996     {
02997       n = (n + g_qeglobals.d_texturewin.height < g_qeglobals.d_texturewin.m_nTotalHeight) ? n + g_qeglobals.d_texturewin.height : n; 
02998       break;
02999     }
03000     case SB_THUMBPOSITION :
03001     {
03002       n = nPos;
03003       break;
03004     }
03005     case SB_THUMBTRACK :
03006     {
03007       n = nPos;
03008       break;
03009     }
03010   }
03011   SetScrollPos(SB_VERT, n);
03012     g_qeglobals.d_texturewin.originy = -((int)n);
03013   Invalidate();
03014   UpdateWindow();
03015   //Sys_UpdateWindows(W_TEXTURE);
03016 }

virtual BOOL PreCreateWindow CREATESTRUCT &  cs  )  [protected, virtual]
 

void UpdateFilter const char *  pFilter  ) 
 

Definition at line 2875 of file TexWnd.cpp.

References CMainFrame::CurrentStyle(), g_bFilterEnabled, g_cLastChar, g_nTimerHandle, g_pParentWnd, g_strFilter, NULL, QR_QE4, SortTextures(), Sys_UpdateWindows(), toupper(), and W_TEXTURE.

Referenced by CTexEdit::OnChange().

02876 {
02877   if (g_nTimerHandle > 0)
02878     KillTimer(1);
02879   g_bFilterEnabled = false;
02880   if (pFilter)
02881   {
02882     g_strFilter = pFilter;
02883     if (g_strFilter.GetLength() > 0)
02884     {
02885       g_bFilterEnabled = true;
02886       if (g_pParentWnd->CurrentStyle() == QR_QE4 || g_pParentWnd->CurrentStyle() == QR_4WAY)
02887       {
02888         if (g_strFilter.GetLength() > g_nLastLen)
02889         {
02890           g_cLastChar = toupper(g_strFilter.GetAt(g_strFilter.GetLength()-1));
02891           if (g_cLastChar == 'N' || g_cLastChar == 'O') // one of the other popups
02892           {
02893             g_nTimerHandle = SetTimer(1, 800, NULL);   // half second timer
02894           }
02895         }
02896       }
02897     }
02898     g_nLastLen = g_strFilter.GetLength();
02899       SortTextures();
02900   }
02901   Sys_UpdateWindows (W_TEXTURE);
02902 }

Here is the call graph for this function:

void UpdatePrefs  ) 
 

Definition at line 2904 of file TexWnd.cpp.

References g_nTextureOffset, g_PrefsDlg, m_bNeedRange, CPrefsDlg::m_bTextureScrollbar, CPrefsDlg::m_bTextureWindow, and m_wndFilter.

Referenced by CMainFrame::OnPrefs().

02905 {
02906   if (!g_PrefsDlg.m_bTextureWindow)
02907   {
02908     m_wndFilter.ShowWindow(SW_HIDE);
02909     g_nTextureOffset = 0;
02910   }
02911   else
02912   {
02913     m_wndFilter.ShowWindow(SW_SHOW);
02914     g_nTextureOffset = 25;
02915   }
02916   ShowScrollBar(SB_VERT, g_PrefsDlg.m_bTextureScrollbar);
02917   m_bNeedRange = true;
02918   Invalidate();
02919   UpdateWindow();
02920 }


Field Documentation

bool m_bNeedRange [protected]
 

Definition at line 65 of file TexWnd.h.

Referenced by CTexWnd(), OnPaint(), and UpdatePrefs().

CTexEdit m_wndFilter [protected]
 

Definition at line 63 of file TexWnd.h.

Referenced by FocusEdit(), and UpdatePrefs().

CButton m_wndShaders [protected]
 

Definition at line 64 of file TexWnd.h.


The documentation for this class was generated from the following files:
Generated on Thu Aug 25 19:41:56 2005 for Quake III Arena by  doxygen 1.3.9.1