qtaxviewer_planetosm.h 2.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
#ifndef QTAXVIEWER_PLANETOSM_H
#define QTAXVIEWER_PLANETOSM_H
#include <QAxBindable>
#include <QTranslator>
#include <QMap>
#include <QVariant>
#include <QList>
#include <QMutex>
#include "osm_frame_widget.h"

/*!
 \brief	This class inher from osm_frame_widget and QAxBindable,
	Provides event systems and function call interface
 \class	qtaxviewer_planetosm qtaxviewer_planetosm.h "qtviewer_planetosm/qtaxviewer_planetosm.h"
 \author	goldenhawking	\date	2015-12-11
*/
class qtaxviewer_planetosm :public osm_frame_widget, public QAxBindable
{
	Q_OBJECT
protected:
	QTranslator qtTranslator;
	QTranslator appTranslator;

	//!event Listeners
	QMutex m_mutex_evts;
	QList<QMap<QString, QVariant> > m_list_events;
	void evt_listener(const QMap<QString, QVariant> e);

public:
	explicit qtaxviewer_planetosm(QWidget *parent = 0);
	~qtaxviewer_planetosm();
	//! slots below is designed for activeX interfaces
public slots:
丁劲犇's avatar
丁劲犇 已提交
34 35
	QString osm_get_remote_address(QString layerName) const;
	void	osm_set_remote_address (QString layerName, QString addr);
36 37 38 39
	QString osm_get_local_cache(QString layerName) const;
	void	osm_set_local_cache (QString layerName, QString addr);
	int		osm_get_cache_expire_days(QString layerName);
	int		osm_set_cache_expire_days(QString layerName,int days);
丁劲犇's avatar
丁劲犇 已提交
40 41
	void	osm_set_auto_download (QString layerName, int flag);
	int		osm_get_auto_download(QString layerName);
42
	//Navigate
丁劲犇's avatar
丁劲犇 已提交
43 44 45 46 47
	int		osm_get_level(void);
	int		osm_set_level(int);
	double	osm_get_center_lat();
	double	osm_get_center_lon();
	int		osm_set_center_pos(double lat,double lon);
48
	//! \brief	PrintScreen
丁劲犇's avatar
丁劲犇 已提交
49 50 51 52 53 54 55 56 57 58 59 60 61 62
	int		osm_save_view(QString);
	//layer methods
	int		osm_layer_get_count();
	QString osm_layer_get_name(int n);
	int		osm_layer_set_visiable(QString layerName, int v);
	int		osm_layer_get_visiable(QString layerName);
	int		osm_layer_set_active(QString layerName, int v);
	int		osm_layer_get_active(QString layerName);
	int		osm_layer_move_up(QString layerName);
	int		osm_layer_move_down(QString layerName);
	int		osm_layer_move_top(QString layerName);
	int		osm_layer_move_bottom(QString layerName);
	//function Calls
	QString osm_layer_call_function(QString layerName, QString args);
63 64 65 66 67 68

protected slots:
	//! internal evts
	void _next_pending_evts();
signals:
	void _evt_next_pending_evts();
丁劲犇's avatar
丁劲犇 已提交
69 70
	//! messages
	void evt_Message(QString);
71 72 73
};

#endif // QTAXVIEWER_PLANETOSM_H