Source: /app/hbasic/hbasic/src/package_list.h
|
|
|
|
/* **************************************************************************
File: package_list.h
Desc: Data structure for managing loaded packages and their components.
----------------------------------------------------------------------------
copyright : (C) 2001 HBasic project (Marcus Engels)
***************************************************************************/
/* **************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
/* ----------------------------------------------------------------------- */
/* Classlist: List of classes that will be defined in this source file. */
/* ----------------------------------------------------------------------- */
/*
* class PackageList : Data structure for managing packages and
* their components.
*/
/* ----------------------------------------------------------------------- */
/* Changelog: Description of important changes within this file. */
/* Please report with date, maintainer and change description. */
/* ----------------------------------------------------------------------- */
#ifndef PACKAGE_LIST_H
#define PACKAGE_LIST_H
#include "defines.h"
#include "structs.h"
#include
#include
#include "qdom.h"
class QListView;
class CPackageManager;
class CSourceEditWidget;
class InfoButton : public QPushButton
{
public:
InfoButton( QWidget *parent, short new_doc_id );
short my_doc_id;
};
/**
* class PackageList : Data structure for managing packages and
* their components.
*/
class PackageList : public QObject
{
Q_OBJECT
public:
/* Constructor / Destructor for class */
PackageList( void );
/**
* Find the package description for a given package id.
*/
PACKAGE_HEADER *findPackage( short package_number );
/**
* Find the component description for a package given the
* package id and component number.
*/
SOCOMP_HEADER *findSoComponent( PACKAGE_HEADER *pckg_ptr, short comp_pos );
SOCOMP_HEADER *findSoComponentName( PACKAGE_HEADER *pckg_ptr, char *find_name );
/**
* Find the package description for a given package name.
*/
PACKAGE_HEADER *findPackageName( QString package_name );
/* Find global method description for method name in readbuff. */
short findSystemMethod( QWidget *parent, short text_line_height, short doc_id[20], CSourceEditWidget *parent_widget );
/* Delete a package description from the list. */
void deletePackage( PACKAGE_HEADER *new_package );
/* Create description of loaded packages in file. */
void createNewLoadList( void );
/* Return first component in hbasic_stdgui (first package) for global functions. */
void savePackageList( QFile *f );
int getPckgFromSavepos( int save_pos );
void resetSavePos( void );
void createComponentPopup( CSourceEditWidget *src_wgt_ptr );
void resetListViewEntries( void );
void displayPackageList( CPackageManager *pckg_mgr );
PACKAGE_HEADER *createPackageEntry( char *path, short *exists );
/**
* Check if we find a static class method named like the
* current string in readbuff.
*/
short isCompStaticMethod( FACT_DESC *expr_desc_ptr );
PACKAGE_HEADER *openPackage( char *package_name, short package_type, short new_package_type );
PACKAGE_HEADER *packageExists( char *package_name );
short getCompId( void );
void closeComponent( void );
void coCreatePackageList( void );
void coCreateConstantList( void );
void createComponentTypes( void );
void reposButtons( void );
void findSelectedClass( QObject *event_source );
int createTestComp( SOCOMP_HEADER *pckg_ptr );
SOCOMP_HEADER *findVarType( short hbobject_allowed );
void deleteAllPackages( void );
void *findNetClassType( void );
/* Display or hide all HBasic buttons in widget selection. */
void showHBasicButtons( short button_state );
/* Try to find matching member in so library */
char *findSoMember( PACKAGE_HEADER **pckg_desc_ptr, short *member_type );
void showSoClassList( QListView *lv_parent, PACKAGE_HEADER *pckg_ptr );
/* -------------------------------------------------------------- */
private:
/* Handle for package that is currently loaded. */
void *handle;
/* global package list for package manager and package dialog. */
QList package_list;
short parseSoLibDescription( PACKAGE_HEADER *pckg_ptr );
/* load members of shared object description */
short loadSoPackage( PACKAGE_HEADER *pckg_ptr, char *package_name );
private slots:
void slotInfoClicked( void );
};
#endif
Generated by: root on linux on Sun Jul 13 18:06:35 2003, using kdoc 2.0a54. |