vfs: check userland buffers before reading them.
[haiku.git] / src / apps / cortex / TipManager / TipWindow.h
bloba686ba3e3c88042e55ac4543df390163ef5a024d
1 /*
2 * Copyright (c) 1999-2000, Eric Moon.
3 * All rights reserved.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions, and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions, and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
16 * 3. The name of the author may not be used to endorse or promote products
17 * derived from this software without specific prior written permission.
19 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
20 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21 * OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
23 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
26 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
27 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 // TipWindow.h
33 // * PURPOSE
34 // A floating window used to display floating tips
35 // (aka 'ToolTips'.) May be subclassed to provide
36 // a custom tip view or to extend the window's
37 // behavior.
39 // * HISTORY
40 // e.moon 17oct99 Begun (based on TipFloater.)
42 #ifndef __TipWindow_H__
43 #define __TipWindow_H__
45 #include <String.h>
46 #include <Window.h>
48 #include "cortex_defs.h"
49 __BEGIN_CORTEX_NAMESPACE
51 class TipView;
53 class TipWindow :
54 public BWindow {
55 typedef BWindow _inherited;
57 public: // *** dtor/ctors
58 virtual ~TipWindow();
59 TipWindow(
60 const char* text=0);
62 public: // *** operations (LOCK REQUIRED)
64 const char* text() const;
65 virtual void setText(
66 const char* text);
68 protected: // *** hooks
69 // override to substitute your own view class
70 virtual TipView* createTipView();
72 public: // *** BWindow
74 // initializes the tip view
75 virtual void Show();
77 // remove tip view? +++++
78 virtual void Hide();
80 // hides the window when the user switches workspaces
81 // +++++ should it be restored when the user switches back?
82 virtual void WorkspaceActivated(
83 int32 workspace,
84 bool active);
86 private: // implementation
87 TipView* m_tipView;
88 BString m_text;
90 void _createTipView();
91 void _destroyTipView();
94 __END_CORTEX_NAMESPACE
95 #endif /*__TipWindow_H__*/