You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kmymoney/kmymoney2/views/kinvestmentview.h

138 lines
4.6 KiB

/***************************************************************************
kinvestmentview.h - description
-------------------
begin : Tue Jan 29 2002
copyright : (C) 2000-2002 by Michael Edwardes
email : mte@users.sourceforge.net
Javier Campos Morales <javi_c@users.sourceforge.net>
Felix Rodriguez <frodriguez@users.sourceforge.net>
John C <thetacoturtle@users.sourceforge.net>
Thomas Baumgart <ipwizard@users.sourceforge.net>
Kevin Tambascio <ktambascio@users.sourceforge.net>
***************************************************************************/
/***************************************************************************
* *
* 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. *
* *
***************************************************************************/
#ifndef KINVESTMENTVIEW_H
#define KINVESTMENTVIEW_H
// ----------------------------------------------------------------------------
// QT Includes
// ----------------------------------------------------------------------------
// KDE Includes
// ----------------------------------------------------------------------------
// Project Includes
#include <kmymoney/mymoneysecurity.h>
#include <kmymoney/mymoneyaccount.h>
#include "kinvestmentviewdecl.h"
#include "kinvestmentlistitem.h"
class MyMoneyTransaction;
class MyMoneyInvestTransaction;
/**
* @author Kevin Tambascio
*/
class KInvestmentView : public KInvestmentViewDecl
{
Q_OBJECT
public:
KInvestmentView(TQWidget *parent=0, const char *name=0);
~KInvestmentView();
/**
* Start reconciliation for the account in the current view
*/
void reconcileAccount(void);
public slots:
/**
* This slot is used to reload all data from the MyMoneyFile engine.
* All existing data in the view will be discarded.
* Call this e.g. if a new file has been loaded.
*/
void slotLoadView(void);
/**
* This slot is used to select the correct ledger view type for
* the account specified by @p id. If @p transactionId is not
* empty, then the respective transaction will be selected.
*
* @param accountId Internal id used for the account to show
* @param transactionId Internal id used for the transaction to select
* @param reconciliation if true, the account will be selected in
* reconciliation mode. If false, it will
* be selected in regular ledger mode.
*
* @retval true selection of account referenced by @p id succeeded
* @retval false selection of account failed
*/
bool slotSelectAccount(const TQString& accountId, const TQString& transactionId = TQString(), const bool reconciliation = false);
/**
* This method is provided for convenience and acts as the method above.
*/
bool slotSelectAccount(const MyMoneyObject& acc);
void show(void);
protected:
/**
* This method reloads the account selection combo box of the
* view with all asset and liability accounts from the engine.
* If the account id of the current account held in @p m_accountId is
* empty or if the referenced account does not exist in the engine,
* the first account found in the list will be made the current account.
*/
void loadAccounts(void);
/**
* clear the view
*/
void clear(void);
void loadView(void);
protected slots:
/**
* This slot receives the signal from the listview @c lv control that the context menu
* was requested for @c item at @c point.
*/
void slotListContextMenu(KListView* lv, TQListViewItem* item, const TQPoint& point);
void slotSelectionChanged(TQListViewItem *item);
signals:
/**
* This signal is emitted, if an account has been selected
* which cannot handled by this view.
*/
void accountSelected(const TQString& accountId, const TQString& transactionId);
void accountSelected(const MyMoneyObject&);
void investmentRightMouseClick(void);
private:
/// \internal d-pointer class.
class Private;
/// \internal d-pointer instance.
Private* const d;
};
#endif