tabcontrol.h
上传用户:chn_coc
上传日期:2007-12-20
资源大小:563k
文件大小:2k
源码类别:

P2P编程

开发平台:

Windows_Unix

  1. // ------------------------------------------------
  2. //  tabcontrol.h
  3. //  PeerCast
  4. //
  5. //  Created by mode7 on Fri Apr 02 2004.
  6. //  Copyright (c) 2002-2004 peercast.org. All rights reserved.
  7. // ------------------------------------------------
  8. // This program is free software; you can redistribute it and/or modify
  9. // it under the terms of the GNU General Public License as published by
  10. // the Free Software Foundation; either version 2 of the License, or
  11. // (at your option) any later version.
  12. // This program is distributed in the hope that it will be useful,
  13. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. // GNU General Public License for more details.
  16. // ------------------------------------------------
  17. #ifndef _TABCONTROL_H
  18. #define _TABCONTROL_H
  19. #include <Carbon/Carbon.h>
  20. #include "carbonwraps.h"
  21. #include "textcontrol.h"
  22. #include "numericcontrol.h"
  23. #include "sys.h"
  24. class TabControl
  25. {
  26. public:
  27. explicit TabControl( const int signature, const int id, WindowRef windowRef );
  28. const ControlID& getID    () const { return mControlID; }
  29. WindowRef        getWindow() const { return mWindowRef; }
  30. OSStatus installHandler();
  31. void updateSettings    ();
  32. void saveSettings();
  33. static OSStatus handler( EventHandlerCallRef inCallRef, EventRef inEvent, void* inUserData );
  34. private:
  35. void setInitialTab(WindowRef window);
  36. static ControlRef getControlRef( WindowRef window, const ControlID& controlID );
  37. static void       switchItem   ( WindowRef window, ControlRef tabControl, const short currentTabIndex );
  38. ControlID  mControlID;
  39. WindowRef  mWindowRef;
  40. CEventHandlerUPP mEventHandler;
  41. TextControl  mYPAddress;
  42. TextControl  mDJMessage;
  43. TextControl  mPassword;
  44. NumericControl   mMaxRelays;
  45. WLock  mLock;
  46. short  mLastTabIndex;
  47. };
  48. #endif // _TABCONTROL_H