ListView, OutlineListView, and Alert support by baldur
This commit is contained in:
534
bepascal/bepascal/be/interface/Alert.cpp
Normal file
534
bepascal/bepascal/be/interface/Alert.cpp
Normal file
@@ -0,0 +1,534 @@
|
|||||||
|
/* BePascal - A pascal wrapper around the BeOS API
|
||||||
|
Copyright (C) 2003 Olivier Coursiere
|
||||||
|
Eric Jourde
|
||||||
|
Oscar Lesta
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Library General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public
|
||||||
|
License along with this library; if not, write to the Free
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
#ifndef _ALERT_CPP_
|
||||||
|
#define _ALERT_CPP_
|
||||||
|
|
||||||
|
#include <Alert.h>
|
||||||
|
#include "window.h"
|
||||||
|
#include "looper.h"
|
||||||
|
#include <beobj.h>
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
/*----- BAlert class ---------------------------------------------*/
|
||||||
|
|
||||||
|
class BPAlert : public BAlert, public virtual BPWindow // Is this OK? or should be public virtual?
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
BPAlert(TPasObject PasObject,
|
||||||
|
const char *title,
|
||||||
|
const char *text,
|
||||||
|
const char *button1,
|
||||||
|
const char *button2 = NULL,
|
||||||
|
const char *button3 = NULL,
|
||||||
|
button_width width = B_WIDTH_AS_USUAL,
|
||||||
|
alert_type type = B_INFO_ALERT);
|
||||||
|
BPAlert(TPasObject PasObject,
|
||||||
|
const char *title,
|
||||||
|
const char *text,
|
||||||
|
const char *button1,
|
||||||
|
const char *button2,
|
||||||
|
const char *button3,
|
||||||
|
button_width width,
|
||||||
|
button_spacing spacing,
|
||||||
|
alert_type type = B_INFO_ALERT);
|
||||||
|
BPAlert(TPasObject PasObject, BMessage *data);
|
||||||
|
|
||||||
|
//virtual ~BAlert();
|
||||||
|
|
||||||
|
/* Archiving */
|
||||||
|
static BArchivable *Instantiate(BMessage *data);
|
||||||
|
//virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||||
|
|
||||||
|
/* BAlert guts */
|
||||||
|
void SetShortcut(int32 button_index, char key);
|
||||||
|
char Shortcut(int32 button_index) const;
|
||||||
|
|
||||||
|
int32 Go();
|
||||||
|
status_t Go(BInvoker *invoker);
|
||||||
|
|
||||||
|
virtual void MessageReceived(BMessage *an_event);
|
||||||
|
virtual void FrameResized(float new_width, float new_height);
|
||||||
|
BButton *ButtonAt(int32 index) const;
|
||||||
|
BTextView *TextView() const;
|
||||||
|
/*
|
||||||
|
virtual BHandler *ResolveSpecifier(BMessage *msg,
|
||||||
|
int32 index,
|
||||||
|
BMessage *specifier,
|
||||||
|
int32 form,
|
||||||
|
const char *property);
|
||||||
|
virtual status_t GetSupportedSuites(BMessage *data);
|
||||||
|
*/
|
||||||
|
virtual void DispatchMessage(BMessage *msg, BHandler *handler);
|
||||||
|
virtual void Quit();
|
||||||
|
virtual bool QuitRequested();
|
||||||
|
|
||||||
|
static BPoint AlertPosition(float width, float height);
|
||||||
|
|
||||||
|
/*----- Private or reserved -----------------------------------------*/
|
||||||
|
//virtual status_t Perform(perform_code d, void *arg);
|
||||||
|
|
||||||
|
private:
|
||||||
|
/*
|
||||||
|
friend class _BAlertFilter_;
|
||||||
|
|
||||||
|
virtual void _ReservedAlert1();
|
||||||
|
virtual void _ReservedAlert2();
|
||||||
|
virtual void _ReservedAlert3();
|
||||||
|
|
||||||
|
void InitObject(const char *text,
|
||||||
|
const char *button1,
|
||||||
|
const char *button2 = NULL,
|
||||||
|
const char *button3 = NULL,
|
||||||
|
button_width width = B_WIDTH_AS_USUAL,
|
||||||
|
button_spacing spacing = B_EVEN_SPACING,
|
||||||
|
alert_type type = B_INFO_ALERT);
|
||||||
|
BBitmap *InitIcon();
|
||||||
|
|
||||||
|
sem_id fAlertSem;
|
||||||
|
int32 fAlertVal;
|
||||||
|
BButton *fButtons[3];
|
||||||
|
BTextView *fTextView;
|
||||||
|
char fKeys[3];
|
||||||
|
alert_type fMsgType;
|
||||||
|
button_width fButtonWidth;
|
||||||
|
BInvoker *fInvoker;
|
||||||
|
uint32 _reserved[4];
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
/*-------------------------------------------------------------*/
|
||||||
|
/*-------------------------------------------------------------*/
|
||||||
|
|
||||||
|
BPAlert::BPAlert(TPasObject PasObject,
|
||||||
|
const char *title,
|
||||||
|
const char *text,
|
||||||
|
const char *button1,
|
||||||
|
const char *button2 = NULL,
|
||||||
|
const char *button3 = NULL,
|
||||||
|
button_width width = B_WIDTH_AS_USUAL,
|
||||||
|
alert_type type = B_INFO_ALERT)
|
||||||
|
: BAlert(title, text, button1, button2, button3, width, type),
|
||||||
|
BPWindow(PasObject, BRect(), title, B_UNTYPED_WINDOW, 0, 0),
|
||||||
|
|
||||||
|
// oco or Baldur :
|
||||||
|
// why this doesn't work? compiler says:
|
||||||
|
// BPWindow doesn't have a BPLooper member. The same with BPArchivable.
|
||||||
|
|
||||||
|
// BPLooper(PasObject),
|
||||||
|
BPHandler(PasObject, title),
|
||||||
|
// BPArchivable(PasObject),
|
||||||
|
BPasObject(PasObject)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
BPAlert::BPAlert(TPasObject PasObject,
|
||||||
|
const char *title,
|
||||||
|
const char *text,
|
||||||
|
const char *button1,
|
||||||
|
const char *button2,
|
||||||
|
const char *button3,
|
||||||
|
button_width width,
|
||||||
|
button_spacing spacing,
|
||||||
|
alert_type type = B_INFO_ALERT)
|
||||||
|
: BAlert(title, text, button1, button2, button3, width, spacing, type),
|
||||||
|
BPWindow(PasObject, BRect(), title, B_UNTYPED_WINDOW, 0, 0),
|
||||||
|
// BPLooper(PasObject),
|
||||||
|
BPHandler(PasObject, title),
|
||||||
|
// BPArchivable(PasObject),
|
||||||
|
BPasObject(PasObject)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
BPAlert::BPAlert(TPasObject PasObject, BMessage *data)
|
||||||
|
: BAlert(data),
|
||||||
|
// UGLY HACK!!! FIX ME!!! (should be "BPWindow(PasObject, data)" )
|
||||||
|
BPWindow(PasObject, BRect(), "Ugly_Hack!", B_UNTYPED_WINDOW, 0, 0),
|
||||||
|
// BPLooper(PasObject),
|
||||||
|
BPHandler(PasObject),
|
||||||
|
// BPArchivable(PasObject),
|
||||||
|
BPasObject(PasObject)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
BPAlert::SetShortcut(int32 button_index, char key)
|
||||||
|
{
|
||||||
|
BAlert::SetShortcut(button_index, key);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char
|
||||||
|
BPAlert::Shortcut(int32 button_index) const
|
||||||
|
{
|
||||||
|
return BAlert::Shortcut(button_index);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int32
|
||||||
|
BPAlert::Go(void)
|
||||||
|
{
|
||||||
|
return BAlert::Go();
|
||||||
|
}
|
||||||
|
|
||||||
|
status_t
|
||||||
|
BPAlert::Go(BInvoker *invoker)
|
||||||
|
{
|
||||||
|
return BAlert::Go(invoker);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
BPAlert::MessageReceived(BMessage *an_event)
|
||||||
|
{
|
||||||
|
BAlert::MessageReceived(an_event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
BPAlert::FrameResized(float new_width, float new_height)
|
||||||
|
{
|
||||||
|
BAlert::FrameResized(new_width, new_height);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
BPAlert::DispatchMessage(BMessage *msg, BHandler *handler)
|
||||||
|
{
|
||||||
|
BAlert::DispatchMessage(msg, handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
BPAlert::Quit(void)
|
||||||
|
{
|
||||||
|
BAlert::Quit();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
BPAlert::QuitRequested(void)
|
||||||
|
{
|
||||||
|
BAlert::QuitRequested();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*-------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::BAlert()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
TCPlusObject BAlert_Create(TPasObject PasObject, const char *title, const char *text, const char *button1, const char *button2, const char *button3, button_width width, alert_type type)
|
||||||
|
{
|
||||||
|
return new BPAlert(PasObject, title, text, button1, button2, button3, width, type);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::BAlert()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
TCPlusObject BAlert_Create_1
|
||||||
|
(TPasObject PasObject, const char *title, const char *text, const char *button1, const char *button2, const char *button3, button_width width, button_spacing spacing, alert_type type)
|
||||||
|
{
|
||||||
|
return new BPAlert(PasObject, title, text, button1, button2, button3, width, spacing, type);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::BAlert()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
TCPlusObject BAlert_Create_2(TPasObject PasObject, BMessage *data)
|
||||||
|
{
|
||||||
|
return new BPAlert(PasObject, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::~BAlert()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
TCPlusObject BAlert_Free(BAlert *Alert)
|
||||||
|
{
|
||||||
|
delete Alert;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::Instantiate()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
BArchivable *
|
||||||
|
BAlert_Instantiate(BAlert *Alert, BMessage *data)
|
||||||
|
{
|
||||||
|
return Alert->Instantiate(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::Archive()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
status_t
|
||||||
|
BAlert_Archive(BAlert *Alert, BMessage *data, bool deep)
|
||||||
|
{
|
||||||
|
return Alert->Archive(data, deep);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::SetShortcut()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
BAlert_SetShortcut(BAlert *Alert, int32 button_index, char key)
|
||||||
|
{
|
||||||
|
Alert->SetShortcut(button_index, key);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::Shortcut()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
char
|
||||||
|
BAlert_Shortcut(BAlert *Alert, int32 button_index)
|
||||||
|
{
|
||||||
|
return Alert->Shortcut(button_index);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::Go()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
int32
|
||||||
|
BAlert_Go(BAlert *Alert)
|
||||||
|
{
|
||||||
|
return Alert->Go();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::Go()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
status_t
|
||||||
|
BAlert_Go_1
|
||||||
|
(BAlert *Alert, BInvoker *invoker)
|
||||||
|
{
|
||||||
|
return Alert->Go(invoker);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::MessageReceived()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
BAlert_MessageReceived(BAlert *Alert, BMessage *an_event)
|
||||||
|
{
|
||||||
|
Alert->MessageReceived(an_event);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::FrameResized()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
BAlert_FrameResized(BAlert *Alert, float new_width, float new_height)
|
||||||
|
{
|
||||||
|
Alert->FrameResized(new_width, new_height);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::ButtonAt()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
BButton *
|
||||||
|
BAlert_ButtonAt(BAlert *Alert, int32 index)
|
||||||
|
{
|
||||||
|
return Alert->ButtonAt(index);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::TextView()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
BTextView *
|
||||||
|
BAlert_TextView(BAlert *Alert)
|
||||||
|
{
|
||||||
|
return Alert->TextView();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::ResolveSpecifier()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
BHandler *
|
||||||
|
BAlert_ResolveSpecifier(BAlert *Alert, BMessage *msg, int32 index, BMessage *specifier, int32 form, const char *property)
|
||||||
|
{
|
||||||
|
return Alert->ResolveSpecifier(msg, index, specifier, form, property);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::GetSupportedSuites()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
status_t
|
||||||
|
BAlert_GetSupportedSuites(BAlert *Alert, BMessage *data)
|
||||||
|
{
|
||||||
|
return Alert->GetSupportedSuites(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::DispatchMessage()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
BAlert_DispatchMessage(BAlert *Alert, BMessage *msg, BHandler *handler)
|
||||||
|
{
|
||||||
|
Alert->DispatchMessage(msg, handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::Quit()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
BAlert_Quit(BAlert *Alert)
|
||||||
|
{
|
||||||
|
Alert->Quit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::QuitRequested()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
bool
|
||||||
|
BAlert_QuitRequested(BAlert *Alert)
|
||||||
|
{
|
||||||
|
return Alert->QuitRequested();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::AlertPosition()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
BPoint
|
||||||
|
BAlert_AlertPosition(BAlert *Alert, float width, float height)
|
||||||
|
{
|
||||||
|
return Alert->AlertPosition(width, height);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::Perform()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
status_t
|
||||||
|
BAlert_Perform(BAlert *Alert, perform_code d, void *arg)
|
||||||
|
{
|
||||||
|
return Alert->Perform(d, arg);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::_ReservedAlert1()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
void
|
||||||
|
BAlert__ReservedAlert1(BAlert *Alert)
|
||||||
|
{
|
||||||
|
Alert->_ReservedAlert1();
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::_ReservedAlert2()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
void
|
||||||
|
BAlert__ReservedAlert2(BAlert *Alert)
|
||||||
|
{
|
||||||
|
Alert->_ReservedAlert2();
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::_ReservedAlert3()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
void
|
||||||
|
BAlert__ReservedAlert3(BAlert *Alert)
|
||||||
|
{
|
||||||
|
Alert->_ReservedAlert3();
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::InitObject()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
void
|
||||||
|
BAlert_InitObject(BAlert *Alert, const char *text, const char *button1, const char *button2, const char *button3, button_width width, button_spacing spacing, alert_type type)
|
||||||
|
{
|
||||||
|
Alert->InitObject(text, button1, button2, button3, width, spacing, type);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Method: BAlert::InitIcon()
|
||||||
|
* Descr:
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
BBitmap *
|
||||||
|
BAlert_InitIcon(BAlert *Alert)
|
||||||
|
{
|
||||||
|
return Alert->InitIcon();
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#endif /* _ALERT_CPP_ */
|
||||||
503
bepascal/bepascal/be/interface/ListItem.cpp
Normal file
503
bepascal/bepascal/be/interface/ListItem.cpp
Normal file
@@ -0,0 +1,503 @@
|
|||||||
|
/* BePascal - A pascal wrapper around the BeOS API
|
||||||
|
Copyright (C) 2002 Olivier Coursiere
|
||||||
|
Eric Jourde
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Library General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public
|
||||||
|
License along with this library; if not, write to the Free
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _LISTITEM_CPP_
|
||||||
|
#define _LISTITEM_CPP_
|
||||||
|
/***********************************************************************
|
||||||
|
* AUTHOR: nobody <baron>
|
||||||
|
* FILE: StringView.cpp
|
||||||
|
* DATE: Mon Jan 13 21:52:29 2003
|
||||||
|
* DESCR:
|
||||||
|
***********************************************************************/
|
||||||
|
#include "ListItem.h"
|
||||||
|
#include <beobj.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef void (*BListItem_DrawItem_hook) (TPasObject PasObject, TCPlusObject owner, TCPlusObject frame, bool complete );
|
||||||
|
typedef void (*BListString_DrawItem_hook) (TPasObject PasObject, TCPlusObject owner, TCPlusObject frame, bool complete );
|
||||||
|
|
||||||
|
typedef void (*BListItem_Update_hook) (TPasObject PasObject, TCPlusObject owner, TCPlusObject font);
|
||||||
|
typedef void (*BListString_Update_hook) (TPasObject PasObject, TCPlusObject owner, TCPlusObject font);
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
BListItem_DrawItem_hook ListItem_DrawItem_hook;
|
||||||
|
BListString_DrawItem_hook ListString_DrawItem_hook;
|
||||||
|
BListItem_Update_hook ListItem_Update_hook;
|
||||||
|
BListString_Update_hook ListString_Update_hook;
|
||||||
|
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
////////////////////////////////////////
|
||||||
|
// BPListItem
|
||||||
|
////////////////////////////////////////
|
||||||
|
class BPListItem : public BListItem, virtual public BPasObject
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
BPListItem(TPasObject PasObject,BMessage *data);
|
||||||
|
BPListItem(TPasObject PasObject,uint32 outlineLevel = 0, bool expanded = true);
|
||||||
|
|
||||||
|
virtual void DrawItem(BView *owner, BRect frame, bool complete = false);
|
||||||
|
virtual void Update(BView *owner, const BFont *font);
|
||||||
|
private:
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
BPListItem::BPListItem(TPasObject PasObject,BMessage *data)
|
||||||
|
:BListItem(data),
|
||||||
|
BPasObject(PasObject)
|
||||||
|
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
BPListItem::BPListItem(TPasObject PasObject, uint32 outlineLevel = 0, bool expanded = true)
|
||||||
|
:BListItem(outlineLevel,expanded),
|
||||||
|
BPasObject(PasObject)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void BPListItem::Update(BView *owner, const BFont *font)
|
||||||
|
{
|
||||||
|
ListItem_Update_hook(GetPasObject(), &owner, &font);
|
||||||
|
}
|
||||||
|
|
||||||
|
void BPListItem::DrawItem(BView *owner, BRect frame, bool complete = false)
|
||||||
|
{
|
||||||
|
//BListItem::DrawItem(owner, frame, complete);
|
||||||
|
ListItem_DrawItem_hook(GetPasObject(), &owner, &frame, complete);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////
|
||||||
|
// BPStringItem
|
||||||
|
////////////////////////////////////////
|
||||||
|
|
||||||
|
class BPStringItem : public BStringItem , virtual public BPasObject
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
BPStringItem(TPasObject PasObject,const char *text,uint32 outlineLevel = 0, bool expanded = true);
|
||||||
|
BPStringItem(TPasObject PasObject,BMessage *data);
|
||||||
|
virtual void DrawItem(BView *owner, BRect frame, bool complete = false);
|
||||||
|
virtual void Update(BView *owner, const BFont *font);
|
||||||
|
private:
|
||||||
|
};
|
||||||
|
|
||||||
|
BPStringItem::BPStringItem(TPasObject PasObject,const char *text,uint32 outlineLevel = 0, bool expanded = true)
|
||||||
|
:BStringItem(text,outlineLevel,expanded),
|
||||||
|
//BPListItem(PasObject,outlineLevel,expanded),
|
||||||
|
BPasObject(PasObject)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
BPStringItem::BPStringItem(TPasObject PasObject,BMessage *data)
|
||||||
|
:BStringItem(data),
|
||||||
|
//BPListItem(PasObject),
|
||||||
|
BPasObject(PasObject)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void BPStringItem::DrawItem(BView *owner, BRect frame, bool complete = false)
|
||||||
|
{
|
||||||
|
BStringItem::DrawItem(owner, frame, complete);
|
||||||
|
ListString_DrawItem_hook(GetPasObject(), &owner, &frame, complete);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void BPStringItem::Update(BView *owner, const BFont *font)
|
||||||
|
{
|
||||||
|
BStringItem::Update(owner, font);
|
||||||
|
ListString_Update_hook(GetPasObject(), &owner, &font);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* AUTHOR: nobody <baron>
|
||||||
|
* FILE: ListItem.cpp
|
||||||
|
* DATE: Mon Feb 3 20:25:49 2003
|
||||||
|
* DESCR:
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
TCPlusObject BListItem_Create(TPasObject PasObject, uint32 outlineLevel, bool expanded)
|
||||||
|
{
|
||||||
|
return new BPListItem(PasObject, outlineLevel, expanded);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::BListItem
|
||||||
|
* Params: BMessage *data
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
TCPlusObject BListItem_Create_1(TPasObject PasObject, BMessage *data)
|
||||||
|
{
|
||||||
|
return new BPListItem(PasObject, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::~BListItem
|
||||||
|
* Params:
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void BListItem_Free(BListItem *ListItem)
|
||||||
|
{
|
||||||
|
delete ListItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::Archive
|
||||||
|
* Params: BMessage *data, bool deep
|
||||||
|
* Returns: status_t
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
status_t
|
||||||
|
BListItem_Archive(BListItem *ListItem, BMessage *data, bool deep)
|
||||||
|
{
|
||||||
|
return ListItem->Archive(data, deep);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::Height
|
||||||
|
* Params:
|
||||||
|
* Returns: float
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
float
|
||||||
|
BListItem_Height(BListItem *ListItem)
|
||||||
|
{
|
||||||
|
return ListItem->Height();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::Width
|
||||||
|
* Params:
|
||||||
|
* Returns: float
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
float
|
||||||
|
BListItem_Width(BListItem *ListItem)
|
||||||
|
{
|
||||||
|
return ListItem->Width();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::IsSelected
|
||||||
|
* Params:
|
||||||
|
* Returns: bool
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
bool
|
||||||
|
BListItem_IsSelected(BListItem *ListItem)
|
||||||
|
{
|
||||||
|
return ListItem->IsSelected();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::Select
|
||||||
|
* Params:
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BListItem_Select(BListItem *ListItem)
|
||||||
|
{
|
||||||
|
ListItem->Select();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::Deselect
|
||||||
|
* Params:
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BListItem_Deselect(BListItem *ListItem)
|
||||||
|
{
|
||||||
|
ListItem->Deselect();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::SetEnabled
|
||||||
|
* Params: bool on
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BListItem_SetEnabled(BListItem *ListItem, bool on)
|
||||||
|
{
|
||||||
|
ListItem->SetEnabled(on);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::IsEnabled
|
||||||
|
* Params:
|
||||||
|
* Returns: bool
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
bool
|
||||||
|
BListItem_IsEnabled(BListItem *ListItem)
|
||||||
|
{
|
||||||
|
return ListItem->IsEnabled();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::SetHeight
|
||||||
|
* Params: float height
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BListItem_SetHeight(BListItem *ListItem, float height)
|
||||||
|
{
|
||||||
|
ListItem->SetHeight(height);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::SetWidth
|
||||||
|
* Params: float width
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BListItem_SetWidth(BListItem *ListItem, float width)
|
||||||
|
{
|
||||||
|
ListItem->SetWidth(width);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::Update
|
||||||
|
* Params: BView *owner, const BFont *font
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BListItem_Update(BListItem *ListItem, BView *owner, const BFont *font)
|
||||||
|
{
|
||||||
|
ListItem->Update(owner, font);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::Perform
|
||||||
|
* Params: perform_code d, void *arg
|
||||||
|
* Returns: status_t
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
status_t
|
||||||
|
BListItem_Perform(BListItem *ListItem, perform_code d, void *arg)
|
||||||
|
{
|
||||||
|
return ListItem->Perform(d, arg);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::IsExpanded
|
||||||
|
* Params:
|
||||||
|
* Returns: bool
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
bool
|
||||||
|
BListItem_IsExpanded(BListItem *ListItem)
|
||||||
|
{
|
||||||
|
return ListItem->IsExpanded();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::SetExpanded
|
||||||
|
* Params: bool expanded
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BListItem_SetExpanded(BListItem *ListItem, bool expanded)
|
||||||
|
{
|
||||||
|
ListItem->SetExpanded(expanded);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BListItem::OutlineLevel
|
||||||
|
* Params:
|
||||||
|
* Returns: uint32
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
uint32
|
||||||
|
BListItem_OutlineLevel(BListItem *ListItem)
|
||||||
|
{
|
||||||
|
return ListItem->OutlineLevel();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void BListItem_DrawItem(BListItem *ListItem, BView *owner, BRect frame, bool complete)
|
||||||
|
{
|
||||||
|
ListItem->DrawItem(owner, frame, complete);
|
||||||
|
}
|
||||||
|
|
||||||
|
TCPlusObject BStringItem_Create(TPasObject PasObject, const char *text, uint32 outlineLevel, bool expanded)
|
||||||
|
{
|
||||||
|
return new BPStringItem(PasObject, text, outlineLevel, expanded);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BStringItem::~BStringItem
|
||||||
|
* Params:
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void BStringItem_Free(BStringItem *StringItem)
|
||||||
|
{
|
||||||
|
return StringItem->~BStringItem();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BStringItem::BStringItem
|
||||||
|
* Params: BMessage *data
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
TCPlusObject BStringItem_Create_1(TPasObject PasObject, BMessage *data)
|
||||||
|
{
|
||||||
|
return new BPStringItem(PasObject, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BStringItem::Instantiate
|
||||||
|
* Params: BMessage *data
|
||||||
|
* Returns: BArchivable *
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
BArchivable *
|
||||||
|
BStringItem_Instantiate(BStringItem *StringItem, BMessage *data)
|
||||||
|
{
|
||||||
|
return StringItem->Instantiate(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BStringItem::Archive
|
||||||
|
* Params: BMessage *data, bool deep
|
||||||
|
* Returns: status_t
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
status_t
|
||||||
|
BStringItem_Archive(BStringItem *StringItem, BMessage *data, bool deep)
|
||||||
|
{
|
||||||
|
return StringItem->Archive(data, deep);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BStringItem::DrawItem
|
||||||
|
* Params: BView *owner, BRect frame, bool complete
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BStringItem_DrawItem(BStringItem *StringItem, BView *owner, BRect frame, bool complete)
|
||||||
|
{
|
||||||
|
StringItem->DrawItem(owner, frame, complete);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BStringItem::SetText
|
||||||
|
* Params: const char *text
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BStringItem_SetText(BStringItem *StringItem, const char *text)
|
||||||
|
{
|
||||||
|
StringItem->SetText(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BStringItem::Text
|
||||||
|
* Params:
|
||||||
|
* Returns: const char *
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
const char *
|
||||||
|
BStringItem_Text(BStringItem *StringItem)
|
||||||
|
{
|
||||||
|
return StringItem->Text();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BStringItem::Update
|
||||||
|
* Params: BView *owner, const BFont *font
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BStringItem_Update(BStringItem *StringItem, BView *owner, const BFont *font)
|
||||||
|
{
|
||||||
|
StringItem->Update(owner, font);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BStringItem::Perform
|
||||||
|
* Params: perform_code d, void *arg
|
||||||
|
* Returns: status_t
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
status_t
|
||||||
|
BStringItem_Perform(BStringItem *StringItem, perform_code d, void *arg)
|
||||||
|
{
|
||||||
|
return StringItem->Perform(d, arg);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _LISTITEM_CPP_ */
|
||||||
|
|
||||||
1031
bepascal/bepascal/be/interface/ListView.cpp
Normal file
1031
bepascal/bepascal/be/interface/ListView.cpp
Normal file
File diff suppressed because it is too large
Load Diff
755
bepascal/bepascal/be/interface/OutlineListView.cpp
Normal file
755
bepascal/bepascal/be/interface/OutlineListView.cpp
Normal file
@@ -0,0 +1,755 @@
|
|||||||
|
/* BePascal - A pascal wrapper around the BeOS API
|
||||||
|
Copyright (C) 2002 Olivier Coursiere
|
||||||
|
Eric Jourde
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Library General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public
|
||||||
|
License along with this library; if not, write to the Free
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _OUTLINELISTVIEW_CPP_
|
||||||
|
#define _OUTLINELISTVIEW_CPP_
|
||||||
|
|
||||||
|
#include "OutlineListView.h"
|
||||||
|
#include "view.h"
|
||||||
|
#include <beobj.h>
|
||||||
|
#include "listview.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
class BPOutlineListView : public BOutlineListView, virtual public BPListView
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
BPOutlineListView(TPasObject PasObject,BRect frame,
|
||||||
|
const char * name,
|
||||||
|
list_view_type type = B_SINGLE_SELECTION_LIST,
|
||||||
|
uint32 resizeMask = B_FOLLOW_LEFT | B_FOLLOW_TOP,
|
||||||
|
uint32 flags = B_WILL_DRAW | B_FRAME_EVENTS
|
||||||
|
| B_NAVIGABLE);
|
||||||
|
BPOutlineListView(TPasObject PasObject,BMessage *data);
|
||||||
|
|
||||||
|
static BArchivable *Instantiate(BMessage *data);
|
||||||
|
//virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||||
|
|
||||||
|
virtual void MouseDown(BPoint where);
|
||||||
|
virtual void KeyDown(const char *bytes, int32 numBytes);
|
||||||
|
//virtual void FrameMoved(BPoint new_position);
|
||||||
|
virtual void FrameResized(float new_width, float new_height);
|
||||||
|
virtual void MouseUp(BPoint where);
|
||||||
|
|
||||||
|
|
||||||
|
//virtual void ResizeToPreferred();
|
||||||
|
//virtual void GetPreferredSize(float *width, float *height);
|
||||||
|
//virtual void MakeFocus(bool state = true);
|
||||||
|
virtual void AllAttached();
|
||||||
|
virtual void AllDetached();
|
||||||
|
virtual void DetachedFromWindow();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//virtual bool DoMiscellaneous(MiscCode code, MiscData * data);
|
||||||
|
virtual void MessageReceived(BMessage *);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
BPOutlineListView::BPOutlineListView(TPasObject PasObject,BMessage *data)
|
||||||
|
:BOutlineListView(data),
|
||||||
|
BPListView(PasObject, data),
|
||||||
|
BPView(PasObject, data),
|
||||||
|
BPHandler(PasObject, data),
|
||||||
|
BPasObject(PasObject)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
BPOutlineListView::BPOutlineListView(TPasObject PasObject,BRect frame,
|
||||||
|
const char * name,
|
||||||
|
list_view_type type = B_SINGLE_SELECTION_LIST,
|
||||||
|
uint32 resizeMask = B_FOLLOW_LEFT | B_FOLLOW_TOP,
|
||||||
|
uint32 flags = B_WILL_DRAW | B_FRAME_EVENTS
|
||||||
|
| B_NAVIGABLE)
|
||||||
|
:BOutlineListView(frame,name,type,resizeMask,flags),
|
||||||
|
BPListView(PasObject, frame,name,type,resizeMask,flags),
|
||||||
|
BPView(PasObject, frame,name,resizeMask,flags),
|
||||||
|
BPHandler(PasObject, name),
|
||||||
|
BPasObject(PasObject)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void BPOutlineListView::MessageReceived(BMessage *message)
|
||||||
|
{
|
||||||
|
MessageReceived_hookCall(message);
|
||||||
|
BOutlineListView::MessageReceived(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void BPOutlineListView::AllAttached(void)
|
||||||
|
{
|
||||||
|
//AllAttached_hookCall();
|
||||||
|
BOutlineListView::AllAttached();
|
||||||
|
}
|
||||||
|
|
||||||
|
void BPOutlineListView::AllDetached(void)
|
||||||
|
{
|
||||||
|
//AllDetached_hookCall();
|
||||||
|
BOutlineListView::AllDetached();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void BPOutlineListView::KeyDown(const char *bytes, int32 numBytes)
|
||||||
|
{
|
||||||
|
BOutlineListView::KeyDown(bytes, numBytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void BPOutlineListView::FrameResized(float width, float height)
|
||||||
|
{
|
||||||
|
FrameResized_hookCall(width, height);
|
||||||
|
BOutlineListView::FrameResized(width, height);
|
||||||
|
}
|
||||||
|
|
||||||
|
void BPOutlineListView::DetachedFromWindow(void)
|
||||||
|
{
|
||||||
|
BOutlineListView::DetachedFromWindow();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void BPOutlineListView::MouseDown(BPoint point)
|
||||||
|
{
|
||||||
|
BOutlineListView::MouseDown(point);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void BPOutlineListView::MouseUp(BPoint point)
|
||||||
|
{
|
||||||
|
BOutlineListView::MouseUp(point);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* AUTHOR: nobody <baron>
|
||||||
|
* FILE: OutlineListView.cpp
|
||||||
|
* DATE: Tue Mar 4 20:12:11 2003
|
||||||
|
* DESCR:
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::BOutlineListView
|
||||||
|
* Params: BMessage *data
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
TCPlusObject BOutlineListView_Create(TPasObject PasObject,BRect frame,
|
||||||
|
const char * name,
|
||||||
|
list_view_type type = B_SINGLE_SELECTION_LIST,
|
||||||
|
uint32 resizeMask = B_FOLLOW_LEFT | B_FOLLOW_TOP,
|
||||||
|
uint32 flags = B_WILL_DRAW | B_FRAME_EVENTS
|
||||||
|
| B_NAVIGABLE)
|
||||||
|
{
|
||||||
|
return new BPOutlineListView(PasObject, frame,name,type,resizeMask,flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
TCPlusObject BOutlineListView_Create_1(TPasObject PasObject, BMessage *data)
|
||||||
|
{
|
||||||
|
return new BPOutlineListView(PasObject, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::~BOutlineListView
|
||||||
|
* Params:
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void BOutlineListView_Free(BOutlineListView *OutlineListView)
|
||||||
|
{
|
||||||
|
delete OutlineListView;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::Instantiate
|
||||||
|
* Params: BMessage *data
|
||||||
|
* Returns: BArchivable *
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
BArchivable *
|
||||||
|
BOutlineListView_Instantiate(BOutlineListView *OutlineListView, BMessage *data)
|
||||||
|
{
|
||||||
|
return OutlineListView->Instantiate(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::Archive
|
||||||
|
* Params: BMessage *data, bool deep
|
||||||
|
* Returns: status_t
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
status_t
|
||||||
|
BOutlineListView_Archive(BOutlineListView *OutlineListView, BMessage *data, bool deep)
|
||||||
|
{
|
||||||
|
return OutlineListView->Archive(data, deep);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::MouseDown
|
||||||
|
* Params: BPoint where
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BOutlineListView_MouseDown(BOutlineListView *OutlineListView, BPoint where)
|
||||||
|
{
|
||||||
|
OutlineListView->MouseDown(where);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::KeyDown
|
||||||
|
* Params: const char *bytes, int32 numBytes
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BOutlineListView_KeyDown(BOutlineListView *OutlineListView, const char *bytes, int32 numBytes)
|
||||||
|
{
|
||||||
|
OutlineListView->KeyDown(bytes, numBytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::FrameMoved
|
||||||
|
* Params: BPoint new_position
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BOutlineListView_FrameMoved(BOutlineListView *OutlineListView, BPoint new_position)
|
||||||
|
{
|
||||||
|
OutlineListView->FrameMoved(new_position);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::FrameResized
|
||||||
|
* Params: float new_width, float new_height
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BOutlineListView_FrameResized(BOutlineListView *OutlineListView, float new_width, float new_height)
|
||||||
|
{
|
||||||
|
OutlineListView->FrameResized(new_width, new_height);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::MouseUp
|
||||||
|
* Params: BPoint where
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BOutlineListView_MouseUp(BOutlineListView *OutlineListView, BPoint where)
|
||||||
|
{
|
||||||
|
OutlineListView->MouseUp(where);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::AddUnder
|
||||||
|
* Params: BListItem *item, BListItem *underItem
|
||||||
|
* Returns: bool
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
bool
|
||||||
|
BOutlineListView_AddUnder(BOutlineListView *OutlineListView, BListItem *item, BListItem *underItem)
|
||||||
|
{
|
||||||
|
return OutlineListView->AddUnder(item, underItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::AddItem
|
||||||
|
* Params: BListItem *item
|
||||||
|
* Returns: bool
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
bool
|
||||||
|
BOutlineListView_AddItem(BOutlineListView *OutlineListView, BListItem *item)
|
||||||
|
{
|
||||||
|
return OutlineListView->AddItem(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::AddItem
|
||||||
|
* Params: BListItem *item, int32 fullListIndex
|
||||||
|
* Returns: bool
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
bool
|
||||||
|
BOutlineListView_AddItem_1
|
||||||
|
(BOutlineListView *OutlineListView, BListItem *item, int32 fullListIndex)
|
||||||
|
{
|
||||||
|
return OutlineListView->AddItem(item, fullListIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::AddList
|
||||||
|
* Params: BList *newItems
|
||||||
|
* Returns: bool
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
bool
|
||||||
|
BOutlineListView_AddList(BOutlineListView *OutlineListView, BList *newItems)
|
||||||
|
{
|
||||||
|
return OutlineListView->AddList(newItems);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::AddList
|
||||||
|
* Params: BList *newItems, int32 fullListIndex
|
||||||
|
* Returns: bool
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
bool
|
||||||
|
BOutlineListView_AddList_1
|
||||||
|
(BOutlineListView *OutlineListView, BList *newItems, int32 fullListIndex)
|
||||||
|
{
|
||||||
|
return OutlineListView->AddList(newItems, fullListIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::RemoveItem
|
||||||
|
* Params: BListItem *item
|
||||||
|
* Returns: bool
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
bool
|
||||||
|
BOutlineListView_RemoveItem(BOutlineListView *OutlineListView, BListItem *item)
|
||||||
|
{
|
||||||
|
return OutlineListView->RemoveItem(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::RemoveItem
|
||||||
|
* Params: int32 fullListIndex
|
||||||
|
* Returns: BListItem *
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
BListItem *
|
||||||
|
BOutlineListView_RemoveItem_1
|
||||||
|
(BOutlineListView *OutlineListView, int32 fullListIndex)
|
||||||
|
{
|
||||||
|
return OutlineListView->RemoveItem(fullListIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::RemoveItems
|
||||||
|
* Params: int32 fullListIndex, int32 count
|
||||||
|
* Returns: bool
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
bool
|
||||||
|
BOutlineListView_RemoveItems
|
||||||
|
(BOutlineListView *OutlineListView, int32 fullListIndex, int32 count)
|
||||||
|
{
|
||||||
|
return OutlineListView->RemoveItems(fullListIndex, count);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::FullListItemAt
|
||||||
|
* Params: int32 fullListIndex
|
||||||
|
* Returns: BListItem *
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
BListItem *
|
||||||
|
BOutlineListView_FullListItemAt(BOutlineListView *OutlineListView, int32 fullListIndex)
|
||||||
|
{
|
||||||
|
return OutlineListView->FullListItemAt(fullListIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::FullListIndexOf
|
||||||
|
* Params: BPoint point
|
||||||
|
* Returns: int32
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
int32
|
||||||
|
BOutlineListView_FullListIndexOf(BOutlineListView *OutlineListView, BPoint point)
|
||||||
|
{
|
||||||
|
return OutlineListView->FullListIndexOf(point);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::FullListIndexOf
|
||||||
|
* Params: BListItem *item
|
||||||
|
* Returns: int32
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
int32
|
||||||
|
BOutlineListView_FullListIndexOf_1
|
||||||
|
(BOutlineListView *OutlineListView, BListItem *item)
|
||||||
|
{
|
||||||
|
return OutlineListView->FullListIndexOf(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::FullListFirstItem
|
||||||
|
* Params:
|
||||||
|
* Returns: BListItem *
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
BListItem *
|
||||||
|
BOutlineListView_FullListFirstItem(BOutlineListView *OutlineListView)
|
||||||
|
{
|
||||||
|
return OutlineListView->FullListFirstItem();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::FullListLastItem
|
||||||
|
* Params:
|
||||||
|
* Returns: BListItem *
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
BListItem *
|
||||||
|
BOutlineListView_FullListLastItem(BOutlineListView *OutlineListView)
|
||||||
|
{
|
||||||
|
return OutlineListView->FullListLastItem();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::FullListHasItem
|
||||||
|
* Params: BListItem *item
|
||||||
|
* Returns: bool
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
bool
|
||||||
|
BOutlineListView_FullListHasItem(BOutlineListView *OutlineListView, BListItem *item)
|
||||||
|
{
|
||||||
|
return OutlineListView->FullListHasItem(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::FullListCountItems
|
||||||
|
* Params:
|
||||||
|
* Returns: int32
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
int32
|
||||||
|
BOutlineListView_FullListCountItems(BOutlineListView *OutlineListView)
|
||||||
|
{
|
||||||
|
return OutlineListView->FullListCountItems();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::FullListCurrentSelection
|
||||||
|
* Params: int32 index
|
||||||
|
* Returns: int32
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
int32
|
||||||
|
BOutlineListView_FullListCurrentSelection(BOutlineListView *OutlineListView, int32 index)
|
||||||
|
{
|
||||||
|
return OutlineListView->FullListCurrentSelection(index);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::MakeEmpty
|
||||||
|
* Params:
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BOutlineListView_MakeEmpty(BOutlineListView *OutlineListView)
|
||||||
|
{
|
||||||
|
OutlineListView->MakeEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::FullListIsEmpty
|
||||||
|
* Params:
|
||||||
|
* Returns: bool
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
bool
|
||||||
|
BOutlineListView_FullListIsEmpty(BOutlineListView *OutlineListView)
|
||||||
|
{
|
||||||
|
return OutlineListView->FullListIsEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::Superitem
|
||||||
|
* Params: const BListItem *item
|
||||||
|
* Returns: BListItem *
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
BListItem *
|
||||||
|
BOutlineListView_Superitem(BOutlineListView *OutlineListView, const BListItem *item)
|
||||||
|
{
|
||||||
|
return OutlineListView->Superitem(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::Expand
|
||||||
|
* Params: BListItem *item
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BOutlineListView_Expand(BOutlineListView *OutlineListView, BListItem *item)
|
||||||
|
{
|
||||||
|
OutlineListView->Expand(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::Collapse
|
||||||
|
* Params: BListItem *item
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BOutlineListView_Collapse(BOutlineListView *OutlineListView, BListItem *item)
|
||||||
|
{
|
||||||
|
OutlineListView->Collapse(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::IsExpanded
|
||||||
|
* Params: int32 fullListIndex
|
||||||
|
* Returns: bool
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
bool
|
||||||
|
BOutlineListView_IsExpanded(BOutlineListView *OutlineListView, int32 fullListIndex)
|
||||||
|
{
|
||||||
|
return OutlineListView->IsExpanded(fullListIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::ResolveSpecifier
|
||||||
|
* Params: BMessage *msg, int32 index, BMessage *specifier, int32 form, const char *property
|
||||||
|
* Returns: BHandler *
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
BHandler *
|
||||||
|
BOutlineListView_ResolveSpecifier(BOutlineListView *OutlineListView, BMessage *msg, int32 index, BMessage *specifier, int32 form, const char *property)
|
||||||
|
{
|
||||||
|
return OutlineListView->ResolveSpecifier(msg, index, specifier, form, property);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::GetSupportedSuites
|
||||||
|
* Params: BMessage *data
|
||||||
|
* Returns: status_t
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
status_t
|
||||||
|
BOutlineListView_GetSupportedSuites(BOutlineListView *OutlineListView, BMessage *data)
|
||||||
|
{
|
||||||
|
return OutlineListView->GetSupportedSuites(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::Perform
|
||||||
|
* Params: perform_code d, void *arg
|
||||||
|
* Returns: status_t
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
status_t
|
||||||
|
BOutlineListView_Perform(BOutlineListView *OutlineListView, perform_code d, void *arg)
|
||||||
|
{
|
||||||
|
return OutlineListView->Perform(d, arg);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::ResizeToPreferred
|
||||||
|
* Params:
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BOutlineListView_ResizeToPreferred(BOutlineListView *OutlineListView)
|
||||||
|
{
|
||||||
|
OutlineListView->ResizeToPreferred();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::GetPreferredSize
|
||||||
|
* Params: float *width, float *height
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BOutlineListView_GetPreferredSize(BOutlineListView *OutlineListView, float *width, float *height)
|
||||||
|
{
|
||||||
|
OutlineListView->GetPreferredSize(width, height);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::MakeFocus
|
||||||
|
* Params: bool state
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BOutlineListView_MakeFocus(BOutlineListView *OutlineListView, bool state)
|
||||||
|
{
|
||||||
|
OutlineListView->MakeFocus(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::AllAttached
|
||||||
|
* Params:
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BOutlineListView_AllAttached(BOutlineListView *OutlineListView)
|
||||||
|
{
|
||||||
|
OutlineListView->AllAttached();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::AllDetached
|
||||||
|
* Params:
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BOutlineListView_AllDetached(BOutlineListView *OutlineListView)
|
||||||
|
{
|
||||||
|
OutlineListView->AllDetached();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::DetachedFromWindow
|
||||||
|
* Params:
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
void
|
||||||
|
BOutlineListView_DetachedFromWindow(BOutlineListView *OutlineListView)
|
||||||
|
{
|
||||||
|
OutlineListView->DetachedFromWindow();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::CountItemsUnder
|
||||||
|
* Params: BListItem *under, bool oneLevelOnly
|
||||||
|
* Returns: int32
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
int32
|
||||||
|
BOutlineListView_CountItemsUnder(BOutlineListView *OutlineListView, BListItem *under, bool oneLevelOnly)
|
||||||
|
{
|
||||||
|
return OutlineListView->CountItemsUnder(under, oneLevelOnly);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::ItemUnderAt
|
||||||
|
* Params: BListItem *underItem, bool oneLevelOnly, int32 index
|
||||||
|
* Returns: BListItem *
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
BListItem *
|
||||||
|
BOutlineListView_ItemUnderAt(BOutlineListView *OutlineListView, BListItem *underItem, bool oneLevelOnly, int32 index)
|
||||||
|
{
|
||||||
|
return OutlineListView->ItemUnderAt(underItem, oneLevelOnly, index);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::DoMiscellaneous
|
||||||
|
* Params: MiscCode code, MiscData *data
|
||||||
|
* Returns: bool
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
/*bool
|
||||||
|
BOutlineListView_DoMiscellaneous(BOutlineListView *OutlineListView, MiscCode code, MiscData *data)
|
||||||
|
{
|
||||||
|
return OutlineListView->DoMiscellaneous(code, data);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Method: BOutlineListView::MessageReceived
|
||||||
|
* Params: BMessage *
|
||||||
|
* Returns: void
|
||||||
|
* Effects:
|
||||||
|
***********************************************************************/
|
||||||
|
/*void
|
||||||
|
BOutlineListView_MessageReceived(BOutlineListView *OutlineListView, BMessage *)
|
||||||
|
{
|
||||||
|
OutlineListView->MessageReceived();
|
||||||
|
}*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _OUTLINELISTVIEW_CPP_ */
|
||||||
320
bepascal/bepascal/be/interface/alert.pp
Normal file
320
bepascal/bepascal/be/interface/alert.pp
Normal file
@@ -0,0 +1,320 @@
|
|||||||
|
{ BePascal - A pascal wrapper around the BeOS API
|
||||||
|
Copyright (C) 2003 Olivier Coursiere
|
||||||
|
Eric Jourde
|
||||||
|
Oscar Lesta
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Library General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public
|
||||||
|
License along with this library; if not, write to the Free
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
}
|
||||||
|
unit Alert;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
BeObj, Archivable, Button, {InterfaceDefs,} Invoker, Handler,
|
||||||
|
Message, Point, SupportDefs, TextView, Window;
|
||||||
|
|
||||||
|
type
|
||||||
|
// This one belongs to InterfaceDefs unit!
|
||||||
|
TButton_Width = (B_WIDTH_AS_USUAL, B_WIDTH_FROM_WIDEST, B_WIDTH_FROM_LABEL);
|
||||||
|
|
||||||
|
{ enum for flavors of alert }
|
||||||
|
// enum alert_type
|
||||||
|
TAlert_Type = (B_EMPTY_ALERT, B_INFO_ALERT, B_IDEA_ALERT, B_WARNING_ALERT,
|
||||||
|
B_STOP_ALERT);
|
||||||
|
|
||||||
|
//enum button_spacing
|
||||||
|
TButton_Spacing = (B_EVEN_SPACING, B_OFFSET_SPACING);
|
||||||
|
|
||||||
|
TAlert = class(TWindow)
|
||||||
|
private
|
||||||
|
public
|
||||||
|
// Here we have this name colition: type --> kind
|
||||||
|
constructor Create(title : PChar; text : PChar; button1 : PChar;
|
||||||
|
button2 : PChar; button3 : PChar; width : TButton_Width;
|
||||||
|
kind{type} : TAlert_Type);
|
||||||
|
constructor Create(title : PChar; text : PChar; button1 : PChar;
|
||||||
|
button2 : PChar; button3 : PChar; width : TButton_Width;
|
||||||
|
spacing : TButton_Spacing; kind{type} : TAlert_Type);
|
||||||
|
constructor Create(data : TMessage);
|
||||||
|
|
||||||
|
destructor Destroy; override;
|
||||||
|
|
||||||
|
function Instantiate(data : TMessage) : TArchivable;
|
||||||
|
function Archive(data : TMessage; deep : boolean) : TStatus_t;
|
||||||
|
procedure SetShortcut(button_index : integer; key : Char);
|
||||||
|
function Shortcut(button_index : integer) : Char;
|
||||||
|
function Go : integer;
|
||||||
|
function Go(invoker : TInvoker) : TStatus_t;
|
||||||
|
procedure MessageReceived(an_event : TMessage); override;
|
||||||
|
procedure FrameResized(new_width : double; new_height : double);
|
||||||
|
function ButtonAt(index : integer) : TButton;
|
||||||
|
function TextView : TTextView;
|
||||||
|
function ResolveSpecifier(msg : TMessage; index : integer; specifier : TMessage; form : integer; properti : PChar) : THandler;
|
||||||
|
function GetSupportedSuites(data : TMessage) : TStatus_t;
|
||||||
|
procedure DispatchMessage(msg : TMessage; handler : THandler); override;
|
||||||
|
procedure Quit;
|
||||||
|
function QuitRequested : boolean; override;
|
||||||
|
function AlertPosition(width : double; height : double) : TPoint;
|
||||||
|
{
|
||||||
|
function Perform(d : TPerform_code; arg : Pointer) : TStatus_t;
|
||||||
|
|
||||||
|
procedure _ReservedAlert1;
|
||||||
|
procedure _ReservedAlert2;
|
||||||
|
procedure _ReservedAlert3;
|
||||||
|
|
||||||
|
procedure InitObject(text : PChar; button1 : PChar; button2 : PChar; button3 : PChar; width : TButton_Width; spacing : TButton_Spacing; type : TAlert_Type);
|
||||||
|
function InitIcon : TBitmap;
|
||||||
|
procedure sem_id fAlertSem;
|
||||||
|
procedure int32 fAlertVal;
|
||||||
|
procedure BButton *fButtons[3];
|
||||||
|
procedure BTextView *fTextView;
|
||||||
|
procedure char fKeys[3];
|
||||||
|
procedure alert_type fMsgType;
|
||||||
|
procedure button_width fButtonWidth;
|
||||||
|
procedure BInvoker *fInvoker;
|
||||||
|
procedure uint32 _reserved[4];
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
|
||||||
|
function BAlert_Create(AObject : TBeObject; title : PChar; text : PChar;
|
||||||
|
button1 : PChar; button2 : PChar; button3 : PChar; width : TButton_Width;
|
||||||
|
kind{type} : TAlert_Type) : TCPlusObject; cdecl;
|
||||||
|
external BePascalLibName name 'BAlert_Create';
|
||||||
|
function BAlert_Create_1(AObject : TBeObject; title : PChar; text : PChar;
|
||||||
|
button1 : PChar; button2 : PChar; button3 : PChar; width : TButton_Width;
|
||||||
|
spacing : TButton_Spacing; kind{type} : TAlert_Type) : TCPlusObject; cdecl;
|
||||||
|
external BePascalLibName name 'BAlert_Create_1';
|
||||||
|
function BAlert_Create_2(AObject : TBeObject; data : TCPlusObject)
|
||||||
|
: TCPlusObject; cdecl; external BePascalLibName name 'BAlert_Create_2';
|
||||||
|
|
||||||
|
procedure BAlert_Free(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BAlert_Free';
|
||||||
|
|
||||||
|
function BAlert_Instantiate(AObject : TCPlusObject; data : TCPlusObject) : TArchivable; cdecl; external BePascalLibName name 'BAlert_Instantiate';
|
||||||
|
function BAlert_Archive(AObject : TCPlusObject; data : TCPlusObject; deep : boolean) : TStatus_t; cdecl; external BePascalLibName name 'BAlert_Archive';
|
||||||
|
procedure BAlert_SetShortcut(AObject : TCPlusObject; button_index : integer; key : Char); cdecl; external BePascalLibName name 'BAlert_SetShortcut';
|
||||||
|
function BAlert_Shortcut(AObject : TCPlusObject; button_index : integer) : Char; cdecl; external BePascalLibName name 'BAlert_Shortcut';
|
||||||
|
function BAlert_Go(AObject : TCPlusObject) : integer; cdecl; external BePascalLibName name 'BAlert_Go';
|
||||||
|
function BAlert_Go(AObject : TCPlusObject; invoker : TCPlusObject) : TStatus_t; cdecl; external BePascalLibName name 'BAlert_Go';
|
||||||
|
procedure BAlert_MessageReceived(AObject : TCPlusObject; an_event : TCPlusObject); cdecl; external BePascalLibName name 'BAlert_MessageReceived';
|
||||||
|
procedure BAlert_FrameResized(AObject : TCPlusObject; new_width : double; new_height : double); cdecl; external BePascalLibName name 'BAlert_FrameResized';
|
||||||
|
function BAlert_ButtonAt(AObject : TCPlusObject; index : integer) : TButton; cdecl; external BePascalLibName name 'BAlert_ButtonAt';
|
||||||
|
function BAlert_TextView(AObject : TCPlusObject) : TTextView; cdecl; external BePascalLibName name 'BAlert_TextView';
|
||||||
|
function BAlert_ResolveSpecifier(AObject : TCPlusObject; msg : TCPlusObject; index : integer; specifier : TCPlusObject; form : integer; properti : PChar) : THandler; cdecl; external BePascalLibName name 'BAlert_ResolveSpecifier';
|
||||||
|
function BAlert_GetSupportedSuites(AObject : TCPlusObject; data : TCPlusObject) : TStatus_t; cdecl; external BePascalLibName name 'BAlert_GetSupportedSuites';
|
||||||
|
procedure BAlert_DispatchMessage(AObject : TCPlusObject; msg : TCPlusObject; handler : TCPlusObject); cdecl; external BePascalLibName name 'BAlert_DispatchMessage';
|
||||||
|
procedure BAlert_Quit(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BAlert_Quit';
|
||||||
|
function BAlert_QuitRequested(AObject : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BAlert_QuitRequested';
|
||||||
|
function BAlert_AlertPosition(AObject : TCPlusObject; width : double; height : double) : TPoint; cdecl; external BePascalLibName name 'BAlert_AlertPosition';
|
||||||
|
{
|
||||||
|
function BAlert_Perform(AObject : TCPlusObject; d : TPerform_code; arg : Pointer) : TStatus_t; cdecl; external BePascalLibName name 'BAlert_Perform';
|
||||||
|
procedure BAlert__ReservedAlert1(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BAlert__ReservedAlert1';
|
||||||
|
procedure BAlert__ReservedAlert2(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BAlert__ReservedAlert2';
|
||||||
|
procedure BAlert__ReservedAlert3(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BAlert__ReservedAlert3';
|
||||||
|
procedure BAlert_InitObject(AObject : TCPlusObject; text : PChar; button1 : PChar; button2 : PChar; button3 : PChar; width : TButton_Width; spacing : TButton_Spacing; type : TAlert_Type); cdecl; external BePascalLibName name 'BAlert_InitObject';
|
||||||
|
function BAlert_InitIcon(AObject : TCPlusObject) : TBitmap; cdecl; external BePascalLibName name 'BAlert_InitIcon';
|
||||||
|
procedure BAlert_sem_id fAlertSem(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BAlert_sem_id fAlertSem';
|
||||||
|
procedure BAlert_int32 fAlertVal(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BAlert_int32 fAlertVal';
|
||||||
|
procedure BAlert_BButton *fButtons[3](AObject : TCPlusObject); cdecl; external BePascalLibName name 'BAlert_BButton *fButtons[3]';
|
||||||
|
procedure BAlert_BTextView *fTextView(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BAlert_BTextView *fTextView';
|
||||||
|
procedure BAlert_char fKeys[3](AObject : TCPlusObject); cdecl; external BePascalLibName name 'BAlert_char fKeys[3]';
|
||||||
|
procedure BAlert_alert_type fMsgType(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BAlert_alert_type fMsgType';
|
||||||
|
procedure BAlert_button_width fButtonWidth(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BAlert_button_width fButtonWidth';
|
||||||
|
procedure BAlert_BInvoker *fInvoker(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BAlert_BInvoker *fInvoker';
|
||||||
|
procedure BAlert_uint32 _reserved[4](AObject : TCPlusObject); cdecl; external BePascalLibName name 'BAlert_uint32 _reserved[4]';
|
||||||
|
}
|
||||||
|
implementation
|
||||||
|
|
||||||
|
constructor TAlert.Create(title : PChar; text : PChar; button1 : PChar;
|
||||||
|
button2 : PChar; button3 : PChar; width : TButton_Width;
|
||||||
|
kind{type} : TAlert_Type);
|
||||||
|
begin
|
||||||
|
CPlusObject := BAlert_Create(Self, title, text, button1, button2, button3,
|
||||||
|
width, kind);
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TAlert.Create(title : PChar; text : PChar; button1 : PChar; button2 : PChar; button3 : PChar; width : TButton_Width; spacing : TButton_Spacing; kind{type} : TAlert_Type);
|
||||||
|
begin
|
||||||
|
CPlusObject := BAlert_Create_1(Self, title, text, button1, button2, button3,
|
||||||
|
width, spacing, kind{type});
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TAlert.Create(data : TMessage);
|
||||||
|
begin
|
||||||
|
CPlusObject := BAlert_Create_2(Self, data{.CPlusObject});
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TAlert.Destroy;
|
||||||
|
begin
|
||||||
|
BAlert_Free(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAlert.Instantiate(data : TMessage) : TArchivable;
|
||||||
|
begin
|
||||||
|
Result := BAlert_Instantiate(CPlusObject, data{.CPlusObject});
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAlert.Archive(data : TMessage; deep : boolean) : TStatus_t;
|
||||||
|
begin
|
||||||
|
Result := BAlert_Archive(CPlusObject, data{.CPlusObject}, deep);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert.SetShortcut(button_index : integer; key : Char);
|
||||||
|
begin
|
||||||
|
BAlert_SetShortcut(CPlusObject, button_index, key);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAlert.Shortcut(button_index : integer) : Char;
|
||||||
|
begin
|
||||||
|
Result := BAlert_Shortcut(CPlusObject, button_index);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAlert.Go : integer;
|
||||||
|
begin
|
||||||
|
Result := BAlert_Go(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAlert.Go(invoker : TInvoker) : TStatus_t;
|
||||||
|
begin
|
||||||
|
Result := BAlert_Go(CPlusObject, invoker{.CPlusObject});
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert.MessageReceived(an_event : TMessage);
|
||||||
|
begin
|
||||||
|
BAlert_MessageReceived(CPlusObject, an_event{.CPlusObject});
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert.FrameResized(new_width : double; new_height : double);
|
||||||
|
begin
|
||||||
|
BAlert_FrameResized(CPlusObject, new_width, new_height);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAlert.ButtonAt(index : integer) : TButton;
|
||||||
|
begin
|
||||||
|
Result := BAlert_ButtonAt(CPlusObject, index);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAlert.TextView : TTextView;
|
||||||
|
begin
|
||||||
|
Result := BAlert_TextView(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAlert.ResolveSpecifier(msg : TMessage; index : integer; specifier : TMessage; form : integer; properti : PChar) : THandler;
|
||||||
|
begin
|
||||||
|
Result := BAlert_ResolveSpecifier(CPlusObject, msg{.CPlusObject}, index, specifier{.CPlusObject}, form, properti);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAlert.GetSupportedSuites(data : TMessage) : TStatus_t;
|
||||||
|
begin
|
||||||
|
Result := BAlert_GetSupportedSuites(CPlusObject, data{.CPlusObject});
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert.DispatchMessage(msg : TMessage; handler : THandler);
|
||||||
|
begin
|
||||||
|
BAlert_DispatchMessage(CPlusObject, msg{.CPlusObject}, handler{.CPlusObject});
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert.Quit;
|
||||||
|
begin
|
||||||
|
BAlert_Quit(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAlert.QuitRequested : boolean;
|
||||||
|
begin
|
||||||
|
Result := BAlert_QuitRequested(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAlert.AlertPosition(width : double; height : double) : TPoint;
|
||||||
|
begin
|
||||||
|
Result := BAlert_AlertPosition(CPlusObject, width, height);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{
|
||||||
|
function TAlert.Perform(d : TPerform_code; arg : Pointer) : TStatus_t;
|
||||||
|
begin
|
||||||
|
Result := BAlert_Perform(CPlusObject, d, arg);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert._ReservedAlert1;
|
||||||
|
begin
|
||||||
|
BAlert__ReservedAlert1(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert._ReservedAlert2;
|
||||||
|
begin
|
||||||
|
BAlert__ReservedAlert2(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert._ReservedAlert3;
|
||||||
|
begin
|
||||||
|
BAlert__ReservedAlert3(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert.InitObject(text : PChar; button1 : PChar; button2 : PChar; button3 : PChar; width : TButton_Width; spacing : TButton_Spacing; type : TAlert_Type);
|
||||||
|
begin
|
||||||
|
BAlert_InitObject(CPlusObject, text, button1, button2, button3, width, spacing, type);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAlert.InitIcon : TBitmap;
|
||||||
|
begin
|
||||||
|
Result := BAlert_InitIcon(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert.sem_id fAlertSem;
|
||||||
|
begin
|
||||||
|
BAlert_sem_id fAlertSem(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert.int32 fAlertVal;
|
||||||
|
begin
|
||||||
|
BAlert_int32 fAlertVal(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert.BButton *fButtons[3];
|
||||||
|
begin
|
||||||
|
BAlert_BButton *fButtons[3](CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert.BTextView *fTextView;
|
||||||
|
begin
|
||||||
|
BAlert_BTextView *fTextView(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert.char fKeys[3];
|
||||||
|
begin
|
||||||
|
BAlert_char fKeys[3](CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert.alert_type fMsgType;
|
||||||
|
begin
|
||||||
|
BAlert_alert_type fMsgType(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert.button_width fButtonWidth;
|
||||||
|
begin
|
||||||
|
BAlert_button_width fButtonWidth(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert.BInvoker *fInvoker;
|
||||||
|
begin
|
||||||
|
BAlert_BInvoker *fInvoker(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAlert.uint32 _reserved[4];
|
||||||
|
begin
|
||||||
|
BAlert_uint32 _reserved[4](CPlusObject);
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
end.
|
||||||
352
bepascal/bepascal/be/interface/listitem.pp
Normal file
352
bepascal/bepascal/be/interface/listitem.pp
Normal file
@@ -0,0 +1,352 @@
|
|||||||
|
{ BePascal - A pascal wrapper around the BeOS API
|
||||||
|
Copyright (C) 2002 Olivier Coursiere
|
||||||
|
Eric Jourde
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Library General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public
|
||||||
|
License along with this library; if not, write to the Free
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
}
|
||||||
|
unit listitem;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
beobj, interfacedefs,view,Message, Archivable, SupportDefs, Rect, Handler,font;
|
||||||
|
|
||||||
|
type
|
||||||
|
TListItem = class(TBeObject)
|
||||||
|
private
|
||||||
|
public
|
||||||
|
constructor Create(aoutlineLevel : longint; expanded : boolean );virtual;
|
||||||
|
constructor Create(data : TMessage);
|
||||||
|
destructor Destroy;override;
|
||||||
|
function Archive(data : TMessage; deep : boolean) : TStatus_t;
|
||||||
|
function Height : double;
|
||||||
|
function Width : double;
|
||||||
|
function IsSelected : boolean;
|
||||||
|
procedure Select;
|
||||||
|
procedure Deselect;
|
||||||
|
procedure SetEnabled(aon : boolean);
|
||||||
|
function IsEnabled : boolean;
|
||||||
|
procedure SetHeight(aheight : double);
|
||||||
|
procedure SetWidth(awidth : double);
|
||||||
|
procedure DrawItem(owner : TView; bounds : TRect; complete : boolean);
|
||||||
|
procedure Update(owner : TView; font : TFont);
|
||||||
|
// function Perform(d : TPerform_code; var arg : Pointer) : TStatus_t;
|
||||||
|
function IsExpanded : boolean;
|
||||||
|
procedure SetExpanded(expanded : boolean);
|
||||||
|
function OutlineLevel : Cardinal;
|
||||||
|
function HasSubitems : boolean;
|
||||||
|
end;
|
||||||
|
|
||||||
|
type
|
||||||
|
TStringItem = class(TListItem)
|
||||||
|
private
|
||||||
|
public
|
||||||
|
constructor Create( atext: pchar;aoutlineLevel : longint; expanded : boolean);virtual;
|
||||||
|
destructor Destroy;override;
|
||||||
|
constructor Create(data : TMessage);
|
||||||
|
function Instantiate(data : TMessage) : TArchivable;
|
||||||
|
function Archive(data : TMessage; deep : boolean) : TStatus_t;
|
||||||
|
procedure DrawItem(owner : TView; frame : TRect; complete : boolean);
|
||||||
|
procedure SetText( atext : PChar);
|
||||||
|
function Text : PChar;
|
||||||
|
procedure Update(owner : TView; font : TFont);
|
||||||
|
// function Perform(d : TPerform_code; arg : Pointer) : TStatus_t;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function BListItem_Create(AObject : TBeObject;outlineLevel : longint; expanded : boolean): TCPlusObject; cdecl; external BePascalLibName name 'BListItem_Create';
|
||||||
|
function BListItem_Create(AObject : TBeObject; data : TCPlusObject): TCPlusObject; cdecl; external BePascalLibName name 'BListItem_Create_1';
|
||||||
|
procedure BListItem_Free(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BListItem_Free';
|
||||||
|
function BListItem_Archive(AObject : TCPlusObject; data : TCPlusObject; deep : boolean) : TStatus_t; cdecl; external BePascalLibName name 'BListItem_Archive';
|
||||||
|
function BListItem_Height(AObject : TCPlusObject) : double; cdecl; external BePascalLibName name 'BListItem_Height';
|
||||||
|
function BListItem_Width(AObject : TCPlusObject) : double; cdecl; external BePascalLibName name 'BListItem_Width';
|
||||||
|
function BListItem_IsSelected(AObject : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BListItem_IsSelected';
|
||||||
|
procedure BListItem_Select(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BListItem_Select';
|
||||||
|
procedure BListItem_Deselect(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BListItem_Deselect';
|
||||||
|
procedure BListItem_SetEnabled(AObject : TCPlusObject; aon : boolean); cdecl; external BePascalLibName name 'BListItem_SetEnabled';
|
||||||
|
function BListItem_IsEnabled(AObject : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BListItem_IsEnabled';
|
||||||
|
procedure BListItem_SetHeight(AObject : TCPlusObject; aheight : double); cdecl; external BePascalLibName name 'BListItem_SetHeight';
|
||||||
|
procedure BListItem_SetWidth(AObject : TCPlusObject; awidth : double); cdecl; external BePascalLibName name 'BListItem_SetWidth';
|
||||||
|
procedure BListItem_Update(AObject : TCPlusObject; owner : TCPlusObject; font : TCPlusObject); cdecl; external BePascalLibName name 'BListItem_Update';
|
||||||
|
function BListItem_Perform(AObject : TCPlusObject; d : TCPlusObject; arg : Pointer) : TStatus_t; cdecl; external BePascalLibName name 'BListItem_Perform';
|
||||||
|
function BListItem_IsExpanded(AObject : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BListItem_IsExpanded';
|
||||||
|
procedure BListItem_SetExpanded(AObject : TCPlusObject; expanded : boolean); cdecl; external BePascalLibName name 'BListItem_SetExpanded';
|
||||||
|
function BListItem_OutlineLevel(AObject : TCPlusObject) : Cardinal; cdecl; external BePascalLibName name 'BListItem_OutlineLevel';
|
||||||
|
|
||||||
|
//function BListItem_HasSubitems(AObject : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BListItem_HasSubitems';
|
||||||
|
procedure BListItem_DrawItem(AObject : TCPlusObject; owner : TCPlusObject; bounds : TCPlusObject; complete : boolean); cdecl; external BePascalLibName name 'BListItem_DrawItem';
|
||||||
|
|
||||||
|
function BStringItem_Create(AObject : TBeObject ;text: pchar;lineLevel : longint; expanded : boolean): TCPlusObject; cdecl; external BePascalLibName name 'BStringItem_Create';
|
||||||
|
procedure BStringItem_Free(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BStringItem_Free';
|
||||||
|
function BStringItem_Create(AObject : TBeObject; data : TCPlusObject): TCPlusObject; cdecl; external BePascalLibName name 'BStringItem_Create';
|
||||||
|
function BStringItem_Instantiate(AObject : TCPlusObject; data : TCPlusObject) : TArchivable; cdecl; external BePascalLibName name 'BStringItem_Instantiate';
|
||||||
|
function BStringItem_Archive(AObject : TCPlusObject; data : TCPlusObject; deep : boolean) : TStatus_t; cdecl; external BePascalLibName name 'BStringItem_Archive';
|
||||||
|
procedure BStringItem_DrawItem(AObject : TCPlusObject; owner : TCPlusObject; frame : TCPlusObject; complete : boolean); cdecl; external BePascalLibName name 'BStringItem_DrawItem';
|
||||||
|
procedure BStringItem_SetText(AObject : TCPlusObject; text : PChar); cdecl; external BePascalLibName name 'BStringItem_SetText';
|
||||||
|
function BStringItem_Text(AObject : TCPlusObject) : PChar; cdecl; external BePascalLibName name 'BStringItem_Text';
|
||||||
|
procedure BStringItem_Update(AObject : TCPlusObject; owner : TCPlusObject; font : TCPlusObject); cdecl; external BePascalLibName name 'BStringItem_Update';
|
||||||
|
function BStringItem_Perform(AObject : TCPlusObject; d : TPerform_code; arg : Pointer) : TStatus_t; cdecl; external BePascalLibName name 'BStringItem_Perform';
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
var
|
||||||
|
|
||||||
|
ListItem_DrawItem_hook : Pointer; cvar; external;
|
||||||
|
ListString_DrawItem_hook : Pointer; cvar; external;
|
||||||
|
ListItem_Update_hook : Pointer; cvar; external;
|
||||||
|
ListString_Update_hook : Pointer; cvar; external;
|
||||||
|
|
||||||
|
constructor TListItem.Create(aoutlineLevel : longint; expanded : boolean );
|
||||||
|
begin
|
||||||
|
CreatePas;
|
||||||
|
CPlusObject := BListItem_Create(Self,aoutlineLevel , expanded );
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TListItem.Create(data : TMessage);
|
||||||
|
begin
|
||||||
|
CreatePas;
|
||||||
|
CPlusObject := BListItem_Create(Self, data.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TListItem.Destroy;
|
||||||
|
begin
|
||||||
|
BListItem_Free(CPlusObject);
|
||||||
|
inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListItem.Archive(data : TMessage; deep : boolean) : TStatus_t;
|
||||||
|
begin
|
||||||
|
Result := BListItem_Archive(CPlusObject, data.CPlusObject, deep);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListItem.Height : double;
|
||||||
|
begin
|
||||||
|
Result := BListItem_Height(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListItem.Width : double;
|
||||||
|
begin
|
||||||
|
Result := BListItem_Width(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListItem.IsSelected : boolean;
|
||||||
|
begin
|
||||||
|
Result := BListItem_IsSelected(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListItem.Select;
|
||||||
|
begin
|
||||||
|
BListItem_Select(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListItem.Deselect;
|
||||||
|
begin
|
||||||
|
BListItem_Deselect(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListItem.SetEnabled(aon : boolean);
|
||||||
|
begin
|
||||||
|
BListItem_SetEnabled(CPlusObject, aon);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListItem.IsEnabled : boolean;
|
||||||
|
begin
|
||||||
|
Result := BListItem_IsEnabled(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListItem.SetHeight(aheight : double);
|
||||||
|
begin
|
||||||
|
BListItem_SetHeight(CPlusObject, aheight);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListItem.SetWidth(awidth : double);
|
||||||
|
begin
|
||||||
|
BListItem_SetWidth(CPlusObject, awidth);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListItem.DrawItem(owner : TView; bounds : TRect; complete : boolean);
|
||||||
|
begin
|
||||||
|
//BListItem_DrawItem(CPlusObject, owner.CPlusObject, bounds.CPlusObject, complete);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListItem.Update(owner : TView; font : TFont);
|
||||||
|
begin
|
||||||
|
// BListItem_Update(CPlusObject, owner.CPlusObject, font);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{function TListItem.Perform(d : TPerform_code; var arg : Pointer) : TStatus_t;
|
||||||
|
begin
|
||||||
|
Result := BListItem_Perform(CPlusObject, d, arg);
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
function TListItem.IsExpanded : boolean;
|
||||||
|
begin
|
||||||
|
Result := BListItem_IsExpanded(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListItem.SetExpanded(expanded : boolean);
|
||||||
|
begin
|
||||||
|
BListItem_SetExpanded(CPlusObject, expanded);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListItem.OutlineLevel : Cardinal;
|
||||||
|
begin
|
||||||
|
Result := BListItem_OutlineLevel(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListItem.HasSubitems : boolean;
|
||||||
|
begin
|
||||||
|
// Result := BListItem_HasSubitems(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// TStringItem
|
||||||
|
//
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
constructor TStringItem.Create( atext: pchar;aoutlineLevel : longint; expanded : boolean);
|
||||||
|
begin
|
||||||
|
CreatePas;
|
||||||
|
CPlusObject := BStringItem_Create(Self,atext,aoutlineLevel,expanded);
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TStringItem.Destroy;
|
||||||
|
begin
|
||||||
|
BStringItem_Free(CPlusObject);
|
||||||
|
inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TStringItem.Create(data : TMessage);
|
||||||
|
begin
|
||||||
|
CreatePas;
|
||||||
|
CPlusObject := BStringItem_Create(Self, data.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TStringItem.Instantiate(data : TMessage) : TArchivable;
|
||||||
|
begin
|
||||||
|
Result := BStringItem_Instantiate(CPlusObject, data.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TStringItem.Archive(data : TMessage; deep : boolean) : TStatus_t;
|
||||||
|
begin
|
||||||
|
//Result := BStringItem_Archive(CPlusObject, data.CPlusObject, deep);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TStringItem.DrawItem(owner : TView; frame : TRect; complete : boolean);
|
||||||
|
begin
|
||||||
|
//BStringItem_DrawItem(CPlusObject, owner.CPlusObject, frame.CPlusObject, complete);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TStringItem.SetText( atext : PChar);
|
||||||
|
begin
|
||||||
|
BStringItem_SetText(CPlusObject, atext);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TStringItem.Text : PChar;
|
||||||
|
begin
|
||||||
|
Result := BStringItem_Text(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TStringItem.Update(owner : TView; font : TFont);
|
||||||
|
begin
|
||||||
|
//BStringItem_Update(CPlusObject, owner.CPlusObject, font);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{function TStringItem.Perform(d : TPerform_code; arg : Pointer) : TStatus_t;
|
||||||
|
begin
|
||||||
|
Result := BStringItem_Perform(CPlusObject, d, arg);
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
procedure ListItem_DrawItem_hook_func(Liste : TListItem;owner : TCPlusObject; bounds : TCPlusObject; complete : boolean); cdecl;
|
||||||
|
var Rect : TRect;
|
||||||
|
ow : TView;
|
||||||
|
|
||||||
|
begin
|
||||||
|
Rect:=TRect.Wrap(bounds);
|
||||||
|
ow:=TView.Wrap(owner);
|
||||||
|
try
|
||||||
|
if Liste <> nil then
|
||||||
|
begin
|
||||||
|
Liste.DrawItem(ow ,Rect, complete );
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
Rect.UnWrap;
|
||||||
|
ow.UnWrap;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure ListString_DrawItem_hook_func(Liste : TStringItem;owner : TCPlusObject; bounds : TCPlusObject; complete : boolean); cdecl;
|
||||||
|
var Rect : TRect;
|
||||||
|
ow : TView;
|
||||||
|
begin
|
||||||
|
Rect:=TRect.Wrap(bounds);
|
||||||
|
ow:=TView.Wrap(owner);
|
||||||
|
try
|
||||||
|
if Liste <> nil then
|
||||||
|
begin
|
||||||
|
Liste.DrawItem(ow ,Rect, complete );
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
Rect.UnWrap;
|
||||||
|
ow.UnWrap;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure ListItem_Update_hook_func(Liste : TListItem;owner : TCPlusObject; font : TCPlusObject); cdecl;
|
||||||
|
var afont: TFont;
|
||||||
|
ow : TView;
|
||||||
|
begin
|
||||||
|
afont:=TFont.Wrap(font);
|
||||||
|
ow:=TView.Wrap(owner);
|
||||||
|
try
|
||||||
|
if Liste <> nil then
|
||||||
|
begin
|
||||||
|
|
||||||
|
Liste.Update(ow ,afont );
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
afont.UnWrap;
|
||||||
|
ow.UnWrap;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure ListString_Update_hook_func(Liste : TStringItem;owner : TCPlusObject; font : TCPlusObject); cdecl;
|
||||||
|
var afont: TFont;
|
||||||
|
ow : TView;
|
||||||
|
begin
|
||||||
|
afont:=TFont.Wrap(font);
|
||||||
|
ow:=TView.Wrap(owner);
|
||||||
|
try
|
||||||
|
if Liste <> nil then
|
||||||
|
begin
|
||||||
|
Liste.Update(ow ,afont );
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
afont.UnWrap;
|
||||||
|
ow.UnWrap;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
initialization
|
||||||
|
|
||||||
|
ListItem_DrawItem_hook := @ListItem_DrawItem_hook_func;
|
||||||
|
ListString_DrawItem_hook := @ListString_DrawItem_hook_func;
|
||||||
|
ListItem_Update_hook := @ListItem_Update_hook_func;
|
||||||
|
ListString_Update_hook := @ListString_Update_hook_func;
|
||||||
|
|
||||||
|
|
||||||
|
end.
|
||||||
79
bepascal/bepascal/be/interface/listview.h
Normal file
79
bepascal/bepascal/be/interface/listview.h
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
/* BePascal - A pascal wrapper around the BeOS API
|
||||||
|
Copyright (C) 2002 Olivier Coursiere
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Library General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public
|
||||||
|
License along with this library; if not, write to the Free
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _LISTVIEW_H_
|
||||||
|
#define _LISTVIEW_H_
|
||||||
|
|
||||||
|
#include <ListView.h>
|
||||||
|
#include <view.h>
|
||||||
|
|
||||||
|
#include <beobj.h>
|
||||||
|
#include <OS.h>
|
||||||
|
|
||||||
|
#include <handler.h>
|
||||||
|
#include <beobj.h>
|
||||||
|
|
||||||
|
class BPListView : public BListView, virtual public BPView
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
BPListView(TPasObject PasObject,BRect frame,
|
||||||
|
const char *name,
|
||||||
|
list_view_type type = B_SINGLE_SELECTION_LIST,
|
||||||
|
uint32 resizeMask = B_FOLLOW_LEFT |
|
||||||
|
B_FOLLOW_TOP,
|
||||||
|
uint32 flags = B_WILL_DRAW | B_FRAME_EVENTS |
|
||||||
|
B_NAVIGABLE);
|
||||||
|
BPListView(TPasObject PasObject,BMessage *data);
|
||||||
|
static BArchivable *Instantiate(BMessage *data);
|
||||||
|
//virtual status_t Archive(BMessage *data, bool deep = true) const;
|
||||||
|
virtual void Draw(BRect updateRect);
|
||||||
|
virtual void MessageReceived(BMessage *msg);
|
||||||
|
virtual void MouseDown(BPoint where);
|
||||||
|
virtual void KeyDown(const char *bytes, int32 numBytes);
|
||||||
|
//virtual void MakeFocus(bool state = true);
|
||||||
|
virtual void FrameResized(float newWidth, float newHeight);
|
||||||
|
virtual void AttachedToWindow();
|
||||||
|
//virtual void FrameMoved(BPoint new_position);
|
||||||
|
|
||||||
|
/*virtual BHandler *ResolveSpecifier(BMessage *msg,
|
||||||
|
int32 index,
|
||||||
|
BMessage *specifier,
|
||||||
|
int32 form,
|
||||||
|
const char *property);*/
|
||||||
|
|
||||||
|
//virtual status_t Perform(perform_code d, void *arg);
|
||||||
|
|
||||||
|
virtual void WindowActivated(bool state);
|
||||||
|
virtual void MouseUp(BPoint pt);
|
||||||
|
virtual void MouseMoved(BPoint pt, uint32 code, const BMessage *msg);
|
||||||
|
virtual void DetachedFromWindow();
|
||||||
|
|
||||||
|
//virtual void ResizeToPreferred();
|
||||||
|
//virtual void GetPreferredSize(float *width, float *height);
|
||||||
|
virtual void AllAttached();
|
||||||
|
virtual void AllDetached();
|
||||||
|
|
||||||
|
bool InitiateDrag(BPoint pt, int32 itemIndex,
|
||||||
|
bool initialySelected);
|
||||||
|
void SelectionChanged();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* _LISTVIEW_H_ */
|
||||||
548
bepascal/bepascal/be/interface/listview.pp
Normal file
548
bepascal/bepascal/be/interface/listview.pp
Normal file
@@ -0,0 +1,548 @@
|
|||||||
|
{ BePascal - A pascal wrapper around the BeOS API
|
||||||
|
Copyright (C) 2002 Olivier Coursiere
|
||||||
|
Eric Jourde
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Library General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public
|
||||||
|
License along with this library; if not, write to the Free
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
}
|
||||||
|
unit listview;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
beobj, view, message, archivable, SupportDefs, rect, list,
|
||||||
|
handler, messenger,interfacedefs,font,graphicdefs,scrollview,listitem;
|
||||||
|
|
||||||
|
type
|
||||||
|
Tlist_view_type =(
|
||||||
|
B_SINGLE_SELECTION_LIST,
|
||||||
|
B_MULTIPLE_SELECTION_LIST
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
type
|
||||||
|
TListView = class(TView)
|
||||||
|
private
|
||||||
|
public
|
||||||
|
constructor Create(frame : TRect; name : pchar; atype : Tlist_view_type; resizeMask: longint; flags : longint); virtual;
|
||||||
|
constructor Create(data : TMessage);
|
||||||
|
destructor Destroy;override;
|
||||||
|
function Instantiate(data : TMessage) : TArchivable;
|
||||||
|
function Archive(data : TMessage; deep : boolean) : TStatus_t;
|
||||||
|
procedure Draw(updateRect : TRect);override;
|
||||||
|
procedure MessageReceived(msg : TMessage);override;
|
||||||
|
procedure MouseDown(where : TPoint);override;
|
||||||
|
procedure KeyDown(bytes : PChar; numBytes : integer);override;
|
||||||
|
procedure MakeFocus(state : boolean);
|
||||||
|
procedure FrameResized(newWidth : double; newHeight : double);override;
|
||||||
|
procedure TargetedByScrollView(scroller : TScrollView);
|
||||||
|
procedure ScrollTo(x : double; y : double);
|
||||||
|
procedure ScrollTo(where : TPoint);
|
||||||
|
function AddItem(item : TListItem) : boolean;
|
||||||
|
function AddItem(item : TListItem; atIndex : integer) : boolean;
|
||||||
|
function AddList(newItems : TList) : boolean;
|
||||||
|
function AddList(newItems : TList; atIndex : integer) : boolean;
|
||||||
|
function RemoveItem(item : TListItem) : boolean;
|
||||||
|
function RemoveItem(index : integer) : TListItem;
|
||||||
|
function RemoveItems(index : integer; count : integer) : boolean;
|
||||||
|
procedure SetSelectionMessage(message : TMessage);
|
||||||
|
procedure SetInvocationMessage(message : TMessage);
|
||||||
|
function SelectionMessage : TMessage;
|
||||||
|
function SelectionCommand : Cardinal;
|
||||||
|
function InvocationMessage : TMessage;
|
||||||
|
function InvocationCommand : Cardinal;
|
||||||
|
procedure SetListType(atype : TList_view_type);
|
||||||
|
function ListType : TList_view_type;
|
||||||
|
function ItemAt(index : integer) : TListItem;
|
||||||
|
function IndexOf(point : TPoint) : integer;
|
||||||
|
function IndexOf(item : TListItem) : integer;
|
||||||
|
function FirstItem : TListItem;
|
||||||
|
function LastItem : TListItem;
|
||||||
|
function HasItem(item : TListItem) : boolean;
|
||||||
|
function CountItems : integer;
|
||||||
|
procedure MakeEmpty;
|
||||||
|
function IsEmpty : boolean;
|
||||||
|
function Items : TListView;
|
||||||
|
procedure InvalidateItem(index : integer);
|
||||||
|
procedure ScrollToSelection;
|
||||||
|
procedure Select(index : integer; extend : boolean);
|
||||||
|
procedure Select(from : integer; ato : integer; extend : boolean);
|
||||||
|
function IsItemSelected(index : integer) : boolean;
|
||||||
|
function CurrentSelection(index : integer) : integer;
|
||||||
|
function Invoke(msg : TMessage) : TStatus_t;
|
||||||
|
procedure DeselectAll;
|
||||||
|
procedure DeselectExcept(except_from : integer; except_to : integer);
|
||||||
|
procedure Deselect(index : integer);
|
||||||
|
procedure SelectionChanged; virtual;
|
||||||
|
function SwapItems(a : integer; b : integer) : boolean;
|
||||||
|
function MoveItem(from : integer; ato : integer) : boolean;
|
||||||
|
function ReplaceItem(index : integer; item : TListItem) : boolean;
|
||||||
|
procedure AttachedToWindow;override;
|
||||||
|
procedure FrameMoved(new_position : TPoint);override;
|
||||||
|
function ItemFrame(index : integer) : TRect;
|
||||||
|
function ResolveSpecifier(msg : TMessage; index : integer; specifier : TMessage; form : integer; properti : PChar) : THandler;
|
||||||
|
function GetSupportedSuites(data : TMessage) : TStatus_t;
|
||||||
|
function Perform(d : TPerform_code; arg : Pointer) : TStatus_t;
|
||||||
|
procedure WindowActivated(state : boolean);override;
|
||||||
|
procedure MouseUp(pt : TPoint);override;
|
||||||
|
procedure MouseMoved(pt : TPoint; code : Cardinal; msg : TMessage);override;
|
||||||
|
procedure DetachedFromWindow;override;
|
||||||
|
function InitiateDrag(pt : TPoint; itemIndex : integer; initialySelected : boolean) : boolean;
|
||||||
|
procedure ResizeToPreferred;override;
|
||||||
|
procedure GetPreferredSize(width : double; height : double);
|
||||||
|
procedure AllAttached;override;
|
||||||
|
procedure AllDetached;override;
|
||||||
|
// procedure enum MiscCode { B_NO_OP, B_REPLACE_OP, B_MOVE_OP, B_SWAP_OP };
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function BListView_Create(AObject : TBeObject;frame : TCPlusObject; name : pchar; atype : Tlist_view_type; resizeMask: longint; flags : longint): TCPlusObject; cdecl; external BePascalLibName name 'BListView_Create';
|
||||||
|
function BListView_Create(AObject : TBeObject;data : TCPlusObject): TCPlusObject; cdecl; external BePascalLibName name 'BListView_Create_1';
|
||||||
|
procedure BListView_Free(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BListView_Free';
|
||||||
|
function BListView_Instantiate(AObject : TCPlusObject; data : TCPlusObject) : TArchivable; cdecl; external BePascalLibName name 'BListView_Instantiate';
|
||||||
|
function BListView_Archive(AObject : TCPlusObject; data : TCPlusObject; deep : boolean) : TStatus_t; cdecl; external BePascalLibName name 'BListView_Archive';
|
||||||
|
procedure BListView_Draw(AObject : TCPlusObject; updateRect : TCPlusObject); cdecl; external BePascalLibName name 'BListView_Draw';
|
||||||
|
procedure BListView_MessageReceived(AObject : TCPlusObject; msg : TCPlusObject); cdecl; external BePascalLibName name 'BListView_MessageReceived';
|
||||||
|
procedure BListView_MouseDown(AObject : TCPlusObject; where : TCPlusObject); cdecl; external BePascalLibName name 'BListView_MouseDown';
|
||||||
|
procedure BListView_KeyDown(AObject : TCPlusObject; bytes : PChar; numBytes : integer); cdecl; external BePascalLibName name 'BListView_KeyDown';
|
||||||
|
procedure BListView_MakeFocus(AObject : TCPlusObject; state : boolean); cdecl; external BePascalLibName name 'BListView_MakeFocus';
|
||||||
|
procedure BListView_FrameResized(AObject : TCPlusObject; newWidth : double; newHeight : double); cdecl; external BePascalLibName name 'BListView_FrameResized';
|
||||||
|
procedure BListView_TargetedByScrollView(AObject : TCPlusObject; scroller : TCPlusObject); cdecl; external BePascalLibName name 'BListView_TargetedByScrollView';
|
||||||
|
procedure BListView_ScrollTo(AObject : TCPlusObject; x : double; y : double); cdecl; external BePascalLibName name 'BListView_ScrollTo';
|
||||||
|
procedure BListView_ScrollTo(AObject : TCPlusObject; where : TCPlusObject); cdecl; external BePascalLibName name 'BListView_ScrollTo';
|
||||||
|
function BListView_AddItem(AObject : TCPlusObject; item : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BListView_AddItem';
|
||||||
|
function BListView_AddItem(AObject : TCPlusObject; item : TCPlusObject; atIndex : integer) : boolean; cdecl; external BePascalLibName name 'BListView_AddItem';
|
||||||
|
function BListView_AddList(AObject : TCPlusObject; newItems : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BListView_AddList';
|
||||||
|
function BListView_AddList(AObject : TCPlusObject; newItems : TCPlusObject; atIndex : integer) : boolean; cdecl; external BePascalLibName name 'BListView_AddList';
|
||||||
|
function BListView_RemoveItem(AObject : TCPlusObject; item : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BListView_RemoveItem';
|
||||||
|
function BListView_RemoveItem(AObject : TCPlusObject; index : integer) : TListItem; cdecl; external BePascalLibName name 'BListView_RemoveItem_1';
|
||||||
|
function BListView_RemoveItems(AObject : TCPlusObject; index : integer; count : integer) : boolean; cdecl; external BePascalLibName name 'BListView_RemoveItems_2';
|
||||||
|
procedure BListView_SetSelectionMessage(AObject : TCPlusObject; message : TCPlusObject); cdecl; external BePascalLibName name 'BListView_SetSelectionMessage';
|
||||||
|
procedure BListView_SetInvocationMessage(AObject : TCPlusObject; message : TCPlusObject); cdecl; external BePascalLibName name 'BListView_SetInvocationMessage';
|
||||||
|
function BListView_SelectionMessage(AObject : TCPlusObject) : TMessage; cdecl; external BePascalLibName name 'BListView_SelectionMessage';
|
||||||
|
function BListView_SelectionCommand(AObject : TCPlusObject) : Cardinal; cdecl; external BePascalLibName name 'BListView_SelectionCommand';
|
||||||
|
function BListView_InvocationMessage(AObject : TCPlusObject) : TMessage; cdecl; external BePascalLibName name 'BListView_InvocationMessage';
|
||||||
|
function BListView_InvocationCommand(AObject : TCPlusObject) : Cardinal; cdecl; external BePascalLibName name 'BListView_InvocationCommand';
|
||||||
|
procedure BListView_SetListType(AObject : TCPlusObject; atype : TList_view_type); cdecl; external BePascalLibName name 'BListView_SetListType';
|
||||||
|
function BListView_ListType(AObject : TCPlusObject) : TList_view_type; cdecl; external BePascalLibName name 'BListView_ListType';
|
||||||
|
function BListView_ItemAt(AObject : TCPlusObject; index : integer) : TListItem; cdecl; external BePascalLibName name 'BListView_ItemAt';
|
||||||
|
function BListView_IndexOf(AObject : TCPlusObject; point : TCPlusObject) : integer; cdecl; external BePascalLibName name 'BListView_IndexOf';
|
||||||
|
function BListView_IndexOf_1(AObject : TCPlusObject; item : TCPlusObject) : integer; cdecl; external BePascalLibName name 'BListView_IndexOf';
|
||||||
|
function BListView_FirstItem(AObject : TCPlusObject) : TListItem; cdecl; external BePascalLibName name 'BListView_FirstItem';
|
||||||
|
function BListView_LastItem(AObject : TCPlusObject) : TListItem; cdecl; external BePascalLibName name 'BListView_LastItem';
|
||||||
|
function BListView_HasItem(AObject : TCPlusObject; item : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BListView_HasItem';
|
||||||
|
function BListView_CountItems(AObject : TCPlusObject) : integer; cdecl; external BePascalLibName name 'BListView_CountItems';
|
||||||
|
procedure BListView_MakeEmpty(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BListView_MakeEmpty';
|
||||||
|
function BListView_IsEmpty(AObject : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BListView_IsEmpty';
|
||||||
|
function BListView_Items(AObject : TCPlusObject) : TListView; cdecl; external BePascalLibName name 'BListView_Items';
|
||||||
|
procedure BListView_InvalidateItem(AObject : TCPlusObject; index : integer); cdecl; external BePascalLibName name 'BListView_InvalidateItem';
|
||||||
|
procedure BListView_ScrollToSelection(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BListView_ScrollToSelection';
|
||||||
|
procedure BListView_Select(AObject : TCPlusObject; index : integer; extend : boolean); cdecl; external BePascalLibName name 'BListView_Select';
|
||||||
|
procedure BListView_Select(AObject : TCPlusObject; from : integer; ato : integer; extend : boolean); cdecl; external BePascalLibName name 'BListView_Select';
|
||||||
|
function BListView_IsItemSelected(AObject : TCPlusObject; index : integer) : boolean; cdecl; external BePascalLibName name 'BListView_IsItemSelected';
|
||||||
|
function BListView_CurrentSelection(AObject : TCPlusObject; index : integer) : integer; cdecl; external BePascalLibName name 'BListView_CurrentSelection';
|
||||||
|
function BListView_Invoke(AObject : TCPlusObject; msg : TCPlusObject) : TStatus_t; cdecl; external BePascalLibName name 'BListView_Invoke';
|
||||||
|
procedure BListView_DeselectAll(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BListView_DeselectAll';
|
||||||
|
procedure BListView_DeselectExcept(AObject : TCPlusObject; except_from : integer; except_to : integer); cdecl; external BePascalLibName name 'BListView_DeselectExcept';
|
||||||
|
procedure BListView_Deselect(AObject : TCPlusObject; index : integer); cdecl; external BePascalLibName name 'BListView_Deselect';
|
||||||
|
procedure BListView_SelectionChanged(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BListView_SelectionChanged';
|
||||||
|
function BListView_SwapItems(AObject : TCPlusObject; a : integer; b : integer) : boolean; cdecl; external BePascalLibName name 'BListView_SwapItems';
|
||||||
|
function BListView_MoveItem(AObject : TCPlusObject; from : integer; ato : integer) : boolean; cdecl; external BePascalLibName name 'BListView_MoveItem';
|
||||||
|
function BListView_ReplaceItem(AObject : TCPlusObject; index : integer; item : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BListView_ReplaceItem';
|
||||||
|
procedure BListView_AttachedToWindow(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BListView_AttachedToWindow';
|
||||||
|
procedure BListView_FrameMoved(AObject : TCPlusObject; new_position : TCPlusObject); cdecl; external BePascalLibName name 'BListView_FrameMoved';
|
||||||
|
function BListView_ItemFrame(AObject : TCPlusObject; index : integer) : TRect; cdecl; external BePascalLibName name 'BListView_ItemFrame';
|
||||||
|
function BListView_ResolveSpecifier(AObject : TCPlusObject; msg : TCPlusObject; index : integer; specifier : TCPlusObject; form : integer; properti : PChar) : THandler; cdecl; external BePascalLibName name 'BListView_ResolveSpecifier';
|
||||||
|
function BListView_GetSupportedSuites(AObject : TCPlusObject; data : TCPlusObject) : TStatus_t; cdecl; external BePascalLibName name 'BListView_GetSupportedSuites';
|
||||||
|
function BListView_Perform(AObject : TCPlusObject; d : TPerform_code; arg : Pointer) : TStatus_t; cdecl; external BePascalLibName name 'BListView_Perform';
|
||||||
|
procedure BListView_WindowActivated(AObject : TCPlusObject; state : boolean); cdecl; external BePascalLibName name 'BListView_WindowActivated';
|
||||||
|
procedure BListView_MouseUp(AObject : TCPlusObject; pt : TCPlusObject); cdecl; external BePascalLibName name 'BListView_MouseUp';
|
||||||
|
procedure BListView_MouseMoved(AObject : TCPlusObject; pt : TCPlusObject; code : Cardinal; msg : TCPlusObject); cdecl; external BePascalLibName name 'BListView_MouseMoved';
|
||||||
|
procedure BListView_DetachedFromWindow(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BListView_DetachedFromWindow';
|
||||||
|
function BListView_InitiateDrag(AObject : TCPlusObject; pt : TCPlusObject; itemIndex : integer; initialySelected : boolean) : boolean; cdecl; external BePascalLibName name 'BListView_InitiateDrag';
|
||||||
|
procedure BListView_ResizeToPreferred(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BListView_ResizeToPreferred';
|
||||||
|
procedure BListView_GetPreferredSize(AObject : TCPlusObject; width : double; height : double); cdecl; external BePascalLibName name 'BListView_GetPreferredSize';
|
||||||
|
procedure BListView_AllAttached(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BListView_AllAttached';
|
||||||
|
procedure BListView_AllDetached(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BListView_AllDetached';
|
||||||
|
//procedure BListView_enum MiscCode { B_NO_OP, B_REPLACE_OP, B_MOVE_OP, B_SWAP_OP }(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BListView_enum MiscCode { B_NO_OP, B_REPLACE_OP, B_MOVE_OP, B_SWAP_OP }';
|
||||||
|
//procedure Replace_int32 index(AObject : TCPlusObject); cdecl; external BePascalLibName name 'Replace_int32 index';
|
||||||
|
//procedure Replace_BListItem *item(AObject : TCPlusObject); cdecl; external BePascalLibName name 'Replace_BListItem *item';
|
||||||
|
//procedure Move_int32 from(AObject : TCPlusObject); cdecl; external BePascalLibName name 'Move_int32 from';
|
||||||
|
//procedure Move_int32 to(AObject : TCPlusObject); cdecl; external BePascalLibName name 'Move_int32 to';
|
||||||
|
//procedure Swap_int32 a(AObject : TCPlusObject); cdecl; external BePascalLibName name 'Swap_int32 a';
|
||||||
|
//procedure Swap_int32 b(AObject : TCPlusObject); cdecl; external BePascalLibName name 'Swap_int32 b';
|
||||||
|
|
||||||
|
implementation
|
||||||
|
var
|
||||||
|
ListItem_SelectionChanged_hook: Pointer; cvar; external;
|
||||||
|
ListString_InitiateDrag_hook: Pointer; cvar; external;
|
||||||
|
|
||||||
|
constructor TListView.Create(frame : TRect; name : pchar; atype : Tlist_view_type; resizeMask: longint; flags : longint);
|
||||||
|
begin
|
||||||
|
CreatePas;
|
||||||
|
CPlusObject := BListView_Create(Self,frame.CPlusObject,name,atype,resizeMask,flags);
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TListView.Create(data : TMessage);
|
||||||
|
begin
|
||||||
|
CreatePas;
|
||||||
|
CPlusObject := BListView_Create(Self,data.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TListView.Destroy;
|
||||||
|
begin
|
||||||
|
BListView_Free(CPlusObject);
|
||||||
|
inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.Instantiate(data : TMessage) : TArchivable;
|
||||||
|
begin
|
||||||
|
Result := BListView_Instantiate(CPlusObject, data.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.Archive(data : TMessage; deep : boolean) : TStatus_t;
|
||||||
|
begin
|
||||||
|
Result := BListView_Archive(CPlusObject, data.CPlusObject, deep);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.Draw(updateRect : TRect);
|
||||||
|
begin
|
||||||
|
//BListView_Draw(CPlusObject, updateRect.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.MessageReceived(msg : TMessage);
|
||||||
|
begin
|
||||||
|
//BListView_MessageReceived(CPlusObject, msg.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.MouseDown(where : TPoint);
|
||||||
|
begin
|
||||||
|
//BListView_MouseDown(CPlusObject, where.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.KeyDown(bytes : PChar; numBytes : integer);
|
||||||
|
begin
|
||||||
|
//BListView_KeyDown(CPlusObject, bytes, numBytes);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.MakeFocus(state : boolean);
|
||||||
|
begin
|
||||||
|
//BListView_MakeFocus(CPlusObject, state);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.FrameResized(newWidth : double; newHeight : double);
|
||||||
|
begin
|
||||||
|
//BListView_FrameResized(CPlusObject, newWidth, newHeight);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.TargetedByScrollView(scroller : TScrollView);
|
||||||
|
begin
|
||||||
|
BListView_TargetedByScrollView(CPlusObject, scroller.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.ScrollTo(x : double; y : double);
|
||||||
|
begin
|
||||||
|
BListView_ScrollTo(CPlusObject, x, y);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.ScrollTo(where : TPoint);
|
||||||
|
begin
|
||||||
|
BListView_ScrollTo(CPlusObject, where.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.AddItem(item : TListItem) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BListView_AddItem(CPlusObject, item.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.AddItem(item : TListItem; atIndex : integer) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BListView_AddItem(CPlusObject, item.CPlusObject, atIndex);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.AddList(newItems : TList) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BListView_AddList(CPlusObject, newItems.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.AddList(newItems : TList; atIndex : integer) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BListView_AddList(CPlusObject, newItems.CPlusObject, atIndex);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.RemoveItem(item : TListItem) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BListView_RemoveItem(CPlusObject, item.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.RemoveItem(index : integer) : TListItem;
|
||||||
|
begin
|
||||||
|
Result := BListView_RemoveItem(CPlusObject, index);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.RemoveItems(index : integer; count : integer) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BListView_RemoveItems(CPlusObject, index, count);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.SetSelectionMessage(message : TMessage);
|
||||||
|
begin
|
||||||
|
BListView_SetSelectionMessage(CPlusObject, message.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.SetInvocationMessage(message : TMessage);
|
||||||
|
begin
|
||||||
|
BListView_SetInvocationMessage(CPlusObject, message.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.SelectionMessage : TMessage;
|
||||||
|
begin
|
||||||
|
Result := BListView_SelectionMessage(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.SelectionCommand : Cardinal;
|
||||||
|
begin
|
||||||
|
Result := BListView_SelectionCommand(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.InvocationMessage : TMessage;
|
||||||
|
begin
|
||||||
|
Result := BListView_InvocationMessage(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.InvocationCommand : Cardinal;
|
||||||
|
begin
|
||||||
|
Result := BListView_InvocationCommand(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.SetListType(atype : TList_view_type);
|
||||||
|
begin
|
||||||
|
BListView_SetListType(CPlusObject, atype);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.ListType : TList_view_type;
|
||||||
|
begin
|
||||||
|
Result := BListView_ListType(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.ItemAt(index : integer) : TListItem;
|
||||||
|
begin
|
||||||
|
Result := BListView_ItemAt(CPlusObject, index);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.IndexOf(point : TPoint) : integer;
|
||||||
|
begin
|
||||||
|
Result := BListView_IndexOf(CPlusObject, point.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.IndexOf(item : TListItem) : integer;
|
||||||
|
begin
|
||||||
|
Result := BListView_IndexOf(CPlusObject, item.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.FirstItem : TListItem;
|
||||||
|
begin
|
||||||
|
Result := BListView_FirstItem(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.LastItem : TListItem;
|
||||||
|
begin
|
||||||
|
Result := BListView_LastItem(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.HasItem(item : TListItem) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BListView_HasItem(CPlusObject, item.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.CountItems : integer;
|
||||||
|
begin
|
||||||
|
Result := BListView_CountItems(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.MakeEmpty;
|
||||||
|
begin
|
||||||
|
BListView_MakeEmpty(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.IsEmpty : boolean;
|
||||||
|
begin
|
||||||
|
Result := BListView_IsEmpty(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.Items : TListView;
|
||||||
|
begin
|
||||||
|
Result := BListView_Items(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.InvalidateItem(index : integer);
|
||||||
|
begin
|
||||||
|
BListView_InvalidateItem(CPlusObject, index);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.ScrollToSelection;
|
||||||
|
begin
|
||||||
|
BListView_ScrollToSelection(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.Select(index : integer; extend : boolean);
|
||||||
|
begin
|
||||||
|
BListView_Select(CPlusObject, index, extend);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.Select(from : integer; ato : integer; extend : boolean);
|
||||||
|
begin
|
||||||
|
BListView_Select(CPlusObject, from, ato, extend);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.IsItemSelected(index : integer) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BListView_IsItemSelected(CPlusObject, index);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.CurrentSelection(index : integer) : integer;
|
||||||
|
begin
|
||||||
|
Result := BListView_CurrentSelection(CPlusObject, index);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.Invoke(msg : TMessage) : TStatus_t;
|
||||||
|
begin
|
||||||
|
Result := BListView_Invoke(CPlusObject, msg.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.DeselectAll;
|
||||||
|
begin
|
||||||
|
BListView_DeselectAll(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.DeselectExcept(except_from : integer; except_to : integer);
|
||||||
|
begin
|
||||||
|
BListView_DeselectExcept(CPlusObject, except_from, except_to);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.Deselect(index : integer);
|
||||||
|
begin
|
||||||
|
BListView_Deselect(CPlusObject, index);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.SelectionChanged;
|
||||||
|
begin
|
||||||
|
//BListView_SelectionChanged(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.SwapItems(a : integer; b : integer) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BListView_SwapItems(CPlusObject, a, b);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.MoveItem(from : integer; ato : integer) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BListView_MoveItem(CPlusObject, from, ato);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.ReplaceItem(index : integer; item : TListItem) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BListView_ReplaceItem(CPlusObject, index, item.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.AttachedToWindow;
|
||||||
|
begin
|
||||||
|
//BListView_AttachedToWindow(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.FrameMoved(new_position : TPoint);
|
||||||
|
begin
|
||||||
|
//BListView_FrameMoved(CPlusObject, new_position.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.ItemFrame(index : integer) : TRect;
|
||||||
|
begin
|
||||||
|
Result := BListView_ItemFrame(CPlusObject, index);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.ResolveSpecifier(msg : TMessage; index : integer; specifier : TMessage; form : integer; properti : PChar) : THandler;
|
||||||
|
begin
|
||||||
|
Result := BListView_ResolveSpecifier(CPlusObject, msg.CPlusObject, index, specifier.CPlusObject, form, properti);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.GetSupportedSuites(data : TMessage) : TStatus_t;
|
||||||
|
begin
|
||||||
|
Result := BListView_GetSupportedSuites(CPlusObject, data.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.Perform(d : TPerform_code; arg : Pointer) : TStatus_t;
|
||||||
|
begin
|
||||||
|
Result := BListView_Perform(CPlusObject, d, arg);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.WindowActivated(state : boolean);
|
||||||
|
begin
|
||||||
|
//BListView_WindowActivated(CPlusObject, state);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.MouseUp(pt : TPoint);
|
||||||
|
begin
|
||||||
|
//BListView_MouseUp(CPlusObject, pt.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.MouseMoved(pt : TPoint; code : Cardinal; msg : TMessage);
|
||||||
|
begin
|
||||||
|
//BListView_MouseMoved(CPlusObject, pt.CPlusObject, code, msg);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.DetachedFromWindow;
|
||||||
|
begin
|
||||||
|
//BListView_DetachedFromWindow(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TListView.InitiateDrag(pt : TPoint; itemIndex : integer; initialySelected : boolean) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BListView_InitiateDrag(CPlusObject, pt.CPlusObject, itemIndex, initialySelected);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.ResizeToPreferred;
|
||||||
|
begin
|
||||||
|
//BListView_ResizeToPreferred(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.GetPreferredSize(width : double; height : double);
|
||||||
|
begin
|
||||||
|
// BListView_GetPreferredSize(CPlusObject, width, height);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.AllAttached;
|
||||||
|
begin
|
||||||
|
//BListView_AllAttached(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TListView.AllDetached;
|
||||||
|
begin
|
||||||
|
//BListView_AllDetached(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure ListItem_SelectionChanged_hook_func(Liste : TListView); cdecl;
|
||||||
|
|
||||||
|
begin
|
||||||
|
try
|
||||||
|
if Liste <> nil then
|
||||||
|
begin
|
||||||
|
Liste.SelectionChanged;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
initialization
|
||||||
|
ListItem_SelectionChanged_hook:=@ListItem_SelectionChanged_hook_func;
|
||||||
|
end.
|
||||||
357
bepascal/bepascal/be/interface/outlinelistview.pp
Normal file
357
bepascal/bepascal/be/interface/outlinelistview.pp
Normal file
@@ -0,0 +1,357 @@
|
|||||||
|
{ BePascal - A pascal wrapper around the BeOS API
|
||||||
|
Copyright (C) 2002 Olivier Coursiere
|
||||||
|
Eric Jourde
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Library General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public
|
||||||
|
License along with this library; if not, write to the Free
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
}
|
||||||
|
unit outlinelistview;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
beobj, view, message, archivable, SupportDefs, rect, list,
|
||||||
|
handler, messenger,interfacedefs,font,graphicdefs,scrollview,listitem,listview;
|
||||||
|
|
||||||
|
type
|
||||||
|
TOutlineListView = class(TListView)
|
||||||
|
private
|
||||||
|
public
|
||||||
|
constructor Create(frame : TRect; name : pchar; atype : Tlist_view_type; resizeMask: longint; flags : longint); override;
|
||||||
|
constructor Create(data : TMessage);
|
||||||
|
destructor Destroy;override;
|
||||||
|
function Instantiate(data : TMessage) : TArchivable;
|
||||||
|
function Archive(data : TMessage; deep : boolean) : TStatus_t;
|
||||||
|
procedure MouseDown(where : TPoint);override;
|
||||||
|
procedure KeyDown(bytes : PChar; numBytes : integer);override;
|
||||||
|
procedure FrameMoved(new_position : TPoint);override;
|
||||||
|
procedure FrameResized(new_width : double; new_height : double);override;
|
||||||
|
procedure MouseUp(where : TPoint);override;
|
||||||
|
function AddUnder(item : TListItem; underItem : TListItem) : boolean;
|
||||||
|
function AddItem(item : TListItem) : boolean;
|
||||||
|
function AddItem(item : TListItem; fullListIndex : integer) : boolean;
|
||||||
|
function AddList(newItems : TList) : boolean;
|
||||||
|
function AddList(newItems : TList; fullListIndex : integer) : boolean;
|
||||||
|
function RemoveItem(item : TListItem) : boolean;
|
||||||
|
function RemoveItem(fullListIndex : integer) : TListItem;
|
||||||
|
function RemoveItems(fullListIndex : integer; count : integer) : boolean;
|
||||||
|
function FullListItemAt(fullListIndex : integer) : TListItem;
|
||||||
|
function FullListIndexOf(point : TPoint) : integer;
|
||||||
|
function FullListIndexOf(item : TListItem) : integer;
|
||||||
|
function FullListFirstItem : TListItem;
|
||||||
|
function FullListLastItem : TListItem;
|
||||||
|
function FullListHasItem(item : TListItem) : boolean;
|
||||||
|
function FullListCountItems : integer;
|
||||||
|
function FullListCurrentSelection(index : integer) : integer;
|
||||||
|
procedure MakeEmpty;
|
||||||
|
function FullListIsEmpty : boolean;
|
||||||
|
function Superitem(item : TListItem) : TListItem;
|
||||||
|
procedure Expand(item : TListItem);
|
||||||
|
procedure Collapse(item : TListItem);
|
||||||
|
function IsExpanded(fullListIndex : integer) : boolean;
|
||||||
|
function ResolveSpecifier(msg : TMessage; index : integer; specifier : TMessage; form : integer; properti : PChar) : THandler;
|
||||||
|
function GetSupportedSuites(data : TMessage) : TStatus_t;
|
||||||
|
function Perform(d : TPerform_code; arg : Pointer) : TStatus_t;
|
||||||
|
procedure ResizeToPreferred;override;
|
||||||
|
procedure GetPreferredSize(width : double; height : double);
|
||||||
|
procedure MakeFocus(state : boolean);
|
||||||
|
procedure AllAttached;override;
|
||||||
|
procedure AllDetached;override;
|
||||||
|
procedure DetachedFromWindow;override;
|
||||||
|
function CountItemsUnder(under : TListItem; oneLevelOnly : boolean) : integer;
|
||||||
|
function ItemUnderAt(underItem : TListItem; oneLevelOnly : boolean; index : integer) : TListItem;
|
||||||
|
// function DoMiscellaneous(code : ; data : ) : boolean;
|
||||||
|
// procedure MessageReceived( : TMessage);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function BOutlineListView_Create(AObject : TBeObject; frame : TCPlusObject; name : pchar; atype : Tlist_view_type; resizeMask: longint; flags : longint):TCPlusObject; cdecl; external BePascalLibName name 'BOutlineListView_Create';
|
||||||
|
function BOutlineListView_Create_1(AObject : TBeObject;data : TCPlusObject):TCPlusObject; cdecl; external BePascalLibName name 'BOutlineListView_Create_1';
|
||||||
|
procedure BOutlineListView_Free(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BOutlineListView_Free';
|
||||||
|
function BOutlineListView_Instantiate(AObject : TCPlusObject; data : TCPlusObject) : TArchivable; cdecl; external BePascalLibName name 'BOutlineListView_Instantiate';
|
||||||
|
function BOutlineListView_Archive(AObject : TCPlusObject; data : TCPlusObject; deep : boolean) : TStatus_t; cdecl; external BePascalLibName name 'BOutlineListView_Archive';
|
||||||
|
procedure BOutlineListView_MouseDown(AObject : TCPlusObject; where : TCPlusObject); cdecl; external BePascalLibName name 'BOutlineListView_MouseDown';
|
||||||
|
procedure BOutlineListView_KeyDown(AObject : TCPlusObject; bytes : PChar; numBytes : integer); cdecl; external BePascalLibName name 'BOutlineListView_KeyDown';
|
||||||
|
procedure BOutlineListView_FrameMoved(AObject : TCPlusObject; new_position : TCPlusObject); cdecl; external BePascalLibName name 'BOutlineListView_FrameMoved';
|
||||||
|
procedure BOutlineListView_FrameResized(AObject : TCPlusObject; new_width : double; new_height : double); cdecl; external BePascalLibName name 'BOutlineListView_FrameResized';
|
||||||
|
procedure BOutlineListView_MouseUp(AObject : TCPlusObject; where : TCPlusObject); cdecl; external BePascalLibName name 'BOutlineListView_MouseUp';
|
||||||
|
function BOutlineListView_AddUnder(AObject : TCPlusObject; item : TCPlusObject; underItem : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BOutlineListView_AddUnder';
|
||||||
|
function BOutlineListView_AddItem(AObject : TCPlusObject; item : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BOutlineListView_AddItem';
|
||||||
|
function BOutlineListView_AddItem(AObject : TCPlusObject; item : TCPlusObject; fullListIndex : integer) : boolean; cdecl; external BePascalLibName name 'BOutlineListView_AddItem';
|
||||||
|
function BOutlineListView_AddList(AObject : TCPlusObject; newItems : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BOutlineListView_AddList';
|
||||||
|
function BOutlineListView_AddList(AObject : TCPlusObject; newItems : TCPlusObject; fullListIndex : integer) : boolean; cdecl; external BePascalLibName name 'BOutlineListView_AddList';
|
||||||
|
function BOutlineListView_RemoveItem(AObject : TCPlusObject; item : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BOutlineListView_RemoveItem';
|
||||||
|
function BOutlineListView_RemoveItem_1(AObject : TCPlusObject; fullListIndex : integer) : TCPlusObject; cdecl; external BePascalLibName name 'BOutlineListView_RemoveItem_1';
|
||||||
|
function BOutlineListView_RemoveItems(AObject : TCPlusObject; fullListIndex : integer; count : integer) : boolean; cdecl; external BePascalLibName name 'BOutlineListView_RemoveItems';
|
||||||
|
function BOutlineListView_FullListItemAt(AObject : TCPlusObject; fullListIndex : integer) : TListItem; cdecl; external BePascalLibName name 'BOutlineListView_FullListItemAt';
|
||||||
|
function BOutlineListView_FullListIndexOf(AObject : TCPlusObject; point : TCPlusObject) : integer; cdecl; external BePascalLibName name 'BOutlineListView_FullListIndexOf';
|
||||||
|
function BOutlineListView_FullListIndexOf_1(AObject : TCPlusObject; item : TCPlusObject) : integer; cdecl; external BePascalLibName name 'BOutlineListView_FullListIndexOf_1';
|
||||||
|
function BOutlineListView_FullListFirstItem(AObject : TCPlusObject) : TListItem; cdecl; external BePascalLibName name 'BOutlineListView_FullListFirstItem';
|
||||||
|
function BOutlineListView_FullListLastItem(AObject : TCPlusObject) : TListItem; cdecl; external BePascalLibName name 'BOutlineListView_FullListLastItem';
|
||||||
|
function BOutlineListView_FullListHasItem(AObject : TCPlusObject; item : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BOutlineListView_FullListHasItem';
|
||||||
|
function BOutlineListView_FullListCountItems(AObject : TCPlusObject) : integer; cdecl; external BePascalLibName name 'BOutlineListView_FullListCountItems';
|
||||||
|
function BOutlineListView_FullListCurrentSelection(AObject : TCPlusObject; index : integer) : integer; cdecl; external BePascalLibName name 'BOutlineListView_FullListCurrentSelection';
|
||||||
|
procedure BOutlineListView_MakeEmpty(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BOutlineListView_MakeEmpty';
|
||||||
|
function BOutlineListView_FullListIsEmpty(AObject : TCPlusObject) : boolean; cdecl; external BePascalLibName name 'BOutlineListView_FullListIsEmpty';
|
||||||
|
function BOutlineListView_Superitem(AObject : TCPlusObject; item : TCPlusObject) : TListItem; cdecl; external BePascalLibName name 'BOutlineListView_Superitem';
|
||||||
|
procedure BOutlineListView_Expand(AObject : TCPlusObject; item : TCPlusObject); cdecl; external BePascalLibName name 'BOutlineListView_Expand';
|
||||||
|
procedure BOutlineListView_Collapse(AObject : TCPlusObject; item : TCPlusObject); cdecl; external BePascalLibName name 'BOutlineListView_Collapse';
|
||||||
|
function BOutlineListView_IsExpanded(AObject : TCPlusObject; fullListIndex : integer) : boolean; cdecl; external BePascalLibName name 'BOutlineListView_IsExpanded';
|
||||||
|
function BOutlineListView_ResolveSpecifier(AObject : TCPlusObject; msg : TCPlusObject; index : integer; specifier : TCPlusObject; form : integer; properti : PChar) : THandler; cdecl; external BePascalLibName name 'BOutlineListView_ResolveSpecifier';
|
||||||
|
function BOutlineListView_GetSupportedSuites(AObject : TCPlusObject; data : TCPlusObject) : TStatus_t; cdecl; external BePascalLibName name 'BOutlineListView_GetSupportedSuites';
|
||||||
|
function BOutlineListView_Perform(AObject : TCPlusObject; d : TPerform_code; arg : Pointer) : TStatus_t; cdecl; external BePascalLibName name 'BOutlineListView_Perform';
|
||||||
|
procedure BOutlineListView_ResizeToPreferred(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BOutlineListView_ResizeToPreferred';
|
||||||
|
procedure BOutlineListView_GetPreferredSize(AObject : TCPlusObject; width : double; height : double); cdecl; external BePascalLibName name 'BOutlineListView_GetPreferredSize';
|
||||||
|
procedure BOutlineListView_MakeFocus(AObject : TCPlusObject; state : boolean); cdecl; external BePascalLibName name 'BOutlineListView_MakeFocus';
|
||||||
|
procedure BOutlineListView_AllAttached(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BOutlineListView_AllAttached';
|
||||||
|
procedure BOutlineListView_AllDetached(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BOutlineListView_AllDetached';
|
||||||
|
procedure BOutlineListView_DetachedFromWindow(AObject : TCPlusObject); cdecl; external BePascalLibName name 'BOutlineListView_DetachedFromWindow';
|
||||||
|
function BOutlineListView_CountItemsUnder(AObject : TCPlusObject; under : TCPlusObject; oneLevelOnly : boolean) : integer; cdecl; external BePascalLibName name 'BOutlineListView_CountItemsUnder';
|
||||||
|
function BOutlineListView_ItemUnderAt(AObject : TCPlusObject; underItem : TCPlusObject; oneLevelOnly : boolean; index : integer) : TListItem; cdecl; external BePascalLibName name 'BOutlineListView_ItemUnderAt';
|
||||||
|
//function BOutlineListView_DoMiscellaneous(AObject : TCPlusObject; code : ; data : ) : boolean; cdecl; external BePascalLibName name 'BOutlineListView_DoMiscellaneous';
|
||||||
|
//procedure BOutlineListView_MessageReceived(AObject : TCPlusObject; : TCPlusObject); cdecl; external BePascalLibName name 'BOutlineListView_MessageReceived';
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
|
||||||
|
constructor TOutlineListView.Create(frame : TRect; name : pchar; atype : Tlist_view_type; resizeMask: longint; flags : longint);
|
||||||
|
begin
|
||||||
|
CreatePas;
|
||||||
|
CPlusObject := BOutlineListView_Create(Self,frame.CPlusObject,name,atype,resizeMask,flags);
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TOutlineListView.Create(data : TMessage);
|
||||||
|
begin
|
||||||
|
CreatePas;
|
||||||
|
CPlusObject := BOutlineListView_Create_1(Self,data.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TOutlineListView.Destroy;
|
||||||
|
begin
|
||||||
|
BOutlineListView_Free(CPlusObject);
|
||||||
|
inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.Instantiate(data : TMessage) : TArchivable;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_Instantiate(CPlusObject, data.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.Archive(data : TMessage; deep : boolean) : TStatus_t;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_Archive(CPlusObject, data.CPlusObject, deep);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TOutlineListView.MouseDown(where : TPoint);
|
||||||
|
begin
|
||||||
|
// BOutlineListView_MouseDown(CPlusObject, where.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TOutlineListView.KeyDown(bytes : PChar; numBytes : integer);
|
||||||
|
begin
|
||||||
|
// BOutlineListView_KeyDown(CPlusObject, bytes, numBytes);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TOutlineListView.FrameMoved(new_position : TPoint);
|
||||||
|
begin
|
||||||
|
// BOutlineListView_FrameMoved(CPlusObject, new_position.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TOutlineListView.FrameResized(new_width : double; new_height : double);
|
||||||
|
begin
|
||||||
|
// BOutlineListView_FrameResized(CPlusObject, new_width, new_height);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TOutlineListView.MouseUp(where : TPoint);
|
||||||
|
begin
|
||||||
|
// BOutlineListView_MouseUp(CPlusObject, where.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.AddUnder(item : TListItem; underItem : TListItem) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_AddUnder(CPlusObject, item.CPlusObject, underItem.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.AddItem(item : TListItem) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_AddItem(CPlusObject, item.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.AddItem(item : TListItem; fullListIndex : integer) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_AddItem(CPlusObject, item.CPlusObject, fullListIndex);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.AddList(newItems : TList) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_AddList(CPlusObject, newItems.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.AddList(newItems : TList; fullListIndex : integer) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_AddList(CPlusObject, newItems.CPlusObject, fullListIndex);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.RemoveItem(item : TListItem) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_RemoveItem(CPlusObject, item.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.RemoveItem(fullListIndex : integer) : TListItem;
|
||||||
|
begin
|
||||||
|
// Result := BOutlineListView_RemoveItem_1(CPlusObject, fullListIndex);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.RemoveItems(fullListIndex : integer; count : integer) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_RemoveItems(CPlusObject, fullListIndex, count);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.FullListItemAt(fullListIndex : integer) : TListItem;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_FullListItemAt(CPlusObject, fullListIndex);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.FullListIndexOf(point : TPoint) : integer;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_FullListIndexOf(CPlusObject, point.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.FullListIndexOf(item : TListItem) : integer;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_FullListIndexOf(CPlusObject, item.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.FullListFirstItem : TListItem;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_FullListFirstItem(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.FullListLastItem : TListItem;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_FullListLastItem(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.FullListHasItem(item : TListItem) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_FullListHasItem(CPlusObject, item.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.FullListCountItems : integer;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_FullListCountItems(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.FullListCurrentSelection(index : integer) : integer;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_FullListCurrentSelection(CPlusObject, index);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TOutlineListView.MakeEmpty;
|
||||||
|
begin
|
||||||
|
BOutlineListView_MakeEmpty(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.FullListIsEmpty : boolean;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_FullListIsEmpty(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.Superitem(item : TListItem) : TListItem;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_Superitem(CPlusObject, item);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TOutlineListView.Expand(item : TListItem);
|
||||||
|
begin
|
||||||
|
BOutlineListView_Expand(CPlusObject, item.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TOutlineListView.Collapse(item : TListItem);
|
||||||
|
begin
|
||||||
|
BOutlineListView_Collapse(CPlusObject, item.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.IsExpanded(fullListIndex : integer) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_IsExpanded(CPlusObject, fullListIndex);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.ResolveSpecifier(msg : TMessage; index : integer; specifier : TMessage; form : integer; properti : PChar) : THandler;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_ResolveSpecifier(CPlusObject, msg.CPlusObject, index, specifier.CPlusObject, form, properti);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.GetSupportedSuites(data : TMessage) : TStatus_t;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_GetSupportedSuites(CPlusObject, data.CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.Perform(d : TPerform_code; arg : Pointer) : TStatus_t;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_Perform(CPlusObject, d, arg);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TOutlineListView.ResizeToPreferred;
|
||||||
|
begin
|
||||||
|
BOutlineListView_ResizeToPreferred(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TOutlineListView.GetPreferredSize(width : double; height : double);
|
||||||
|
begin
|
||||||
|
BOutlineListView_GetPreferredSize(CPlusObject, width, height);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TOutlineListView.MakeFocus(state : boolean);
|
||||||
|
begin
|
||||||
|
BOutlineListView_MakeFocus(CPlusObject, state);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TOutlineListView.AllAttached;
|
||||||
|
begin
|
||||||
|
BOutlineListView_AllAttached(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TOutlineListView.AllDetached;
|
||||||
|
begin
|
||||||
|
BOutlineListView_AllDetached(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TOutlineListView.DetachedFromWindow;
|
||||||
|
begin
|
||||||
|
BOutlineListView_DetachedFromWindow(CPlusObject);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.CountItemsUnder(under : TListItem; oneLevelOnly : boolean) : integer;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_CountItemsUnder(CPlusObject, under.CPlusObject, oneLevelOnly);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TOutlineListView.ItemUnderAt(underItem : TListItem; oneLevelOnly : boolean; index : integer) : TListItem;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_ItemUnderAt(CPlusObject, underItem.CPlusObject, oneLevelOnly, index);
|
||||||
|
end;
|
||||||
|
|
||||||
|
{function TOutlineListView.DoMiscellaneous(code : ; data : ) : boolean;
|
||||||
|
begin
|
||||||
|
Result := BOutlineListView_DoMiscellaneous(CPlusObject, code, data);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TOutlineListView.MessageReceived( : TMessage);
|
||||||
|
begin
|
||||||
|
BOutlineListView_MessageReceived(CPlusObject, .CPlusObject);
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
end.
|
||||||
Reference in New Issue
Block a user