home *** CD-ROM | disk | FTP | other *** search
/ Tools / WinSN5.0Ver.iso / NETSCAP.50 / WIN1998.ZIP / ns / lib / mac / UserInterface / Tables / CSingleTextColumn.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-04-08  |  2.3 KB  |  83 lines

  1. /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
  2.  *
  3.  * The contents of this file are subject to the Netscape Public License
  4.  * Version 1.0 (the "NPL"); you may not use this file except in
  5.  * compliance with the NPL.  You may obtain a copy of the NPL at
  6.  * http://www.mozilla.org/NPL/
  7.  *
  8.  * Software distributed under the NPL is distributed on an "AS IS" basis,
  9.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
  10.  * for the specific language governing rights and limitations under the
  11.  * NPL.
  12.  *
  13.  * The Initial Developer of this code under the NPL is Netscape
  14.  * Communications Corporation.  Portions created by Netscape are
  15.  * Copyright (C) 1998 Netscape Communications Corporation.  All Rights
  16.  * Reserved.
  17.  */
  18.  
  19. ///////////////////////////////////////////////////////////////////////////////////////
  20. //
  21. //    A simple lightweight implementation of a single column, multiple cell size, single
  22. //    selection, no drag-and-drop, broadcaster table. Should be used for simple editable 
  23. //    lists in dialog boxes.
  24. //     
  25. ///////////////////////////////////////////////////////////////////////////////////////
  26. //
  27. //    Who            When        What
  28. //    ---            ----        ----
  29. //    
  30. //    piro        12/1/97        Finished first implementation
  31. //
  32. ///////////////////////////////////////////////////////////////////////////////////////
  33.  
  34. #pragma once
  35.  
  36. #include <LTableView.h>
  37. #include <LBroadcaster.h>
  38.  
  39. const MessageT msg_SingleTextColumnDoubleClick    = '2Clk';
  40.  
  41. class    CSingleTextColumn : 
  42.     public LTableView, 
  43.     public LBroadcaster 
  44.  
  45. {
  46. public:
  47.     enum                { class_ID = 'cSTC' };
  48.     
  49.                         CSingleTextColumn(LStream *inStream);
  50.     virtual                ~CSingleTextColumn();
  51.  
  52.     Boolean             IsLatentVisible(void);
  53.     
  54.     virtual    void         ClickCell( const STableCell& inCell, const SMouseDownEvent& inMouseDown );
  55.     virtual void        DrawCell( const STableCell &inCell, const Rect &inLocalRect);
  56.     virtual void        DrawSelf();
  57.  
  58. protected:
  59.     
  60.     virtual void        ClickSelf( const SMouseDownEvent&    inMouseDown );
  61.     
  62. private:
  63.     
  64.     void                InitSingleTextColumn();        
  65.  
  66.     ResIDT                mTxtrID;
  67. };
  68.  
  69. ///////////////////////////////////////////////////////////////////////////////////////
  70. // inline implementations
  71.  
  72. inline
  73. Boolean
  74. CSingleTextColumn::IsLatentVisible(void)
  75. {
  76.     return ((mVisible == triState_Latent) || (mVisible == triState_On));
  77. }
  78.  
  79.  
  80.  
  81.  
  82.  
  83.