/usr/include/cwidget/widgets/transient.h is in libcwidget-dev 0.5.17-4ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | // transient.h -*-c++-*-
//
// Copyright 2005 Daniel Burrows
#ifndef TRANSIENT_H
#define TRANSIENT_H
#include "bin.h"
namespace cwidget
{
namespace widgets
{
/** This class is a visually transparent wrapper around another
* widget. It captures all keystrokes (preventing the subwidget from
* recieving them), and destroys itself upon receiving one.
*/
class transient : public bin
{
private:
/** Handle layout: the subwidget is assigned the entire area of this
* widget.
*/
void layout_me();
protected:
transient(const widget_ref &w);
public:
/** Create a new transient.
*
* \param w the widget to place inside the transient wrapper.
*/
static util::ref_ptr<transient>
create(const widget_ref &w = NULL)
{
util::ref_ptr<transient> rval(new transient(w));
rval->decref();
return rval;
}
/** \return the desired width of the subwidget. */
int width_request();
/** Calculate the desired height of the subwidget.
*
* \param width the width of this widget
* \return the desired height
*/
int height_request(int width);
/** \return \b true: transients can always be focussed. */
bool focus_me();
/** Destroy the transient.
*
* \return \b true.
*/
bool handle_char(chtype ch);
};
typedef util::ref_ptr<transient> transient_ref;
}
}
#endif // TRANSIENT_H
|