Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(501)

Unified Diff: fpdfsdk/include/cpdfsdk_annot.h

Issue 2311343003: Make Observers into a templated class (Closed)
Patch Set: Make Annot is-a CPDFSDK_Annot::Observer Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: fpdfsdk/include/cpdfsdk_annot.h
diff --git a/fpdfsdk/include/cpdfsdk_annot.h b/fpdfsdk/include/cpdfsdk_annot.h
index a43b8775dbbb3b581f67a35999c4324c7c781959..e7ae2e15a2f9ca90de5dc99fb00beafe64eb509a 100644
--- a/fpdfsdk/include/cpdfsdk_annot.h
+++ b/fpdfsdk/include/cpdfsdk_annot.h
@@ -10,6 +10,7 @@
#include "core/fpdfdoc/include/cpdf_aaction.h"
#include "core/fpdfdoc/include/cpdf_annot.h"
#include "core/fpdfdoc/include/cpdf_defaultappearance.h"
+#include "core/fxcrt/include/cfx_observable.h"
#include "core/fxcrt/include/fx_basic.h"
#include "fpdfsdk/cfx_systemhandler.h"
#include "fpdfsdk/include/fsdk_common.h"
@@ -21,24 +22,11 @@ class CPDF_Page;
class CPDF_RenderOptions;
class CPDFSDK_PageView;
-class CPDFSDK_Annot {
+class CPDFSDK_Annot : public CFX_Observable<CPDFSDK_Annot> {
public:
- class Observer {
- public:
- explicit Observer(CPDFSDK_Annot** pWatchedPtr);
- ~Observer();
- void OnAnnotDestroyed();
-
- private:
- CPDFSDK_Annot** m_pWatchedPtr;
- };
-
explicit CPDFSDK_Annot(CPDFSDK_PageView* pPageView);
virtual ~CPDFSDK_Annot();
- void AddObserver(Observer* observer);
- void RemoveObserver(Observer* observer);
-
#ifdef PDF_ENABLE_XFA
virtual FX_BOOL IsXFAField();
virtual CXFA_FFWidget* GetXFAWidget() const;
@@ -70,7 +58,6 @@ class CPDFSDK_Annot {
void SetSelected(FX_BOOL bSelected);
protected:
- std::set<Observer*> m_Observers;
CPDFSDK_PageView* m_pPageView;
FX_BOOL m_bSelected;
};

Powered by Google App Engine
This is Rietveld 408576698