Sha256: 7e05c75d029d131c2a60ddcbf494d22a258e437525f7402689b1c4c1bc6e21dd

Contents?: true

Size: 1.36 KB

Versions: 6

Compression:

Stored size: 1.36 KB

Contents

/*
 *  RhoNativeViewManager.h
 *  rhorunner
 *
 *  Created by Dmitry Soldatenkov on 8/25/10.
 *  Copyright 2010 __MyCompanyName__. All rights reserved.
 *
 */

#ifndef _RHO_NATIVE_VIEW_MANAGER_
#define _RHO_NATIVE_VIEW_MANAGER_


class NativeView {
public:
	virtual ~NativeView(){}
	// that function must return native object provided view functionality :
	// UIView* for iPhone
	// jobject for Android - jobect must be android.view.View class type
	// HWND for Windows Mobile 
	virtual void* getView() = 0;
	
	virtual void navigate(const char* url) = 0;
};

class NativeViewFactory {
public:
	virtual ~NativeViewFactory(){}
	virtual NativeView* getNativeView(const char* viewType) = 0;
	virtual void destroyNativeView(NativeView* nativeView) = 0;
};



class RhoNativeViewManager {
public: 
	static void registerViewType(const char* viewType, NativeViewFactory* factory);
	static void unregisterViewType(const char* viewType);

	// that function return native object used for display Web content :
	// UIWebView* for iPhone
	// jobject for Android - jobect is android.webkit.WebView class type
	// HWND for Windows Mobile 
	static void* getWebViewObject(int tab_index);
};


class RhoNativeViewRunnable {
public:
	virtual ~RhoNativeViewRunnable(){}
	virtual void run() = 0;
};


class RhoNativeViewUtil {
public: 
	static void executeInUIThread_WM(RhoNativeViewRunnable* command);
};

#endif

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rhodes-2.2.6 platform/shared/common/RhoNativeViewManager.h
rhodes-2.2.6.beta.1 platform/shared/common/RhoNativeViewManager.h
rhodes-2.2.5 platform/shared/common/RhoNativeViewManager.h
rhodes-2.2.5.beta.3 platform/shared/common/RhoNativeViewManager.h
rhodes-2.2.5.beta.2 platform/shared/common/RhoNativeViewManager.h
rhodes-2.2.5.beta.1 platform/shared/common/RhoNativeViewManager.h