JX Application Framework
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
JXSharedPrefsManager Class Reference

#include <JXSharedPrefsManager.h>

Inheritance diagram for JXSharedPrefsManager:
[legend]

Classes

class  Read
 

Public Types

enum  {
  kWriteLockID = 0 ,
  kWMPlacementStrategyID ,
  kCopyWhenSelectID ,
  kPWModifierID ,
  kCaretFollowsScrollID ,
  kWindowsHomeEndID ,
  kLatestHelpMgrVersionID ,
  kHelpMgrV3 ,
  kHelpMgrV4 ,
  kLatestWebBrowserVersionID ,
  kWebBrowserV0 ,
  kAllowSpaceID ,
  kWebBrowserV1 ,
  kMenuDisplayStyleID ,
  kLatestSpellCheckerVersionID ,
  kSpellCheckerV0 ,
  kFocusFollowsCursorInDockID ,
  kMiddleClickWillPasteID
}
 

Public Member Functions

 JXSharedPrefsManager ()
 
 ~JXSharedPrefsManager () override
 
bool WasNew () const
 
void ReadPrefs (JXSharedPrefObject *obj)
 
void WritePrefs (const JXSharedPrefObject *obj)
 
- Public Member Functions inherited from JBroadcaster
 JBroadcaster ()
 
virtual ~JBroadcaster ()
 
JBroadcasteroperator= (const JBroadcaster &source)
 
bool HasSenders () const
 
JSize GetSenderCount () const
 
bool HasRecipients () const
 
JSize GetRecipientCount () const
 
virtual JString ToString () const
 
template<class T >
void ListenTo (const JBroadcaster *sender, const std::function< void(const T &)> &f)
 

Static Public Attributes

static const JUtf8BytekRead = "Read::JXSharedPrefsManager"
 

Additional Inherited Members

- Protected Member Functions inherited from JBroadcaster
 JBroadcaster (const JBroadcaster &source)
 
void ListenTo (const JBroadcaster *sender)
 
void StopListening (const JBroadcaster *sender)
 
void ClearWhenGoingAway (const JBroadcaster *sender, void *pointerToMember)
 
void StopListening (const JBroadcaster *sender, const std::type_info &messageType)
 
template<class T >
void Send (JBroadcaster *recipient, const T &message)
 
template<class T >
void Broadcast (const T &message)
 
virtual void Receive (JBroadcaster *sender, const Message &message)
 
void SendWithFeedback (JBroadcaster *recipient, Message *message)
 
void BroadcastWithFeedback (Message *message)
 
virtual void ReceiveWithFeedback (JBroadcaster *sender, Message *message)
 
virtual void ReceiveGoingAway (JBroadcaster *sender)
 

Detailed Description

Stores preferences that are shared by all JX programs.  Since this must
be compatible with all versions of JX, all older versions of the data
must be written along with the latest version.  Programs that use an
outdated version of JX cannot usually write to this file because they
are unable to update all the relevant information.

For single items like PartialWordModifier, the best method is to create
another ID when values are added to the enum.  When the new version opens
the file for the first time, it reads the original ID and creates the
new one.  Old programs can still read and write the original ID, while
new programs read and write the new ID.  (Old programs cannot read the
new ID since it has illegal values.)

Since JFileArray modifies the file every time it is opened, we use
a separate signal file to notify other running programs when the settings
change.  We use an idle task to check for signals from other programs.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kWriteLockID 
kWMPlacementStrategyID 
kCopyWhenSelectID 
kPWModifierID 
kCaretFollowsScrollID 
kWindowsHomeEndID 
kLatestHelpMgrVersionID 
kHelpMgrV3 
kHelpMgrV4 
kLatestWebBrowserVersionID 
kWebBrowserV0 
kAllowSpaceID 
kWebBrowserV1 
kMenuDisplayStyleID 
kLatestSpellCheckerVersionID 
kSpellCheckerV0 
kFocusFollowsCursorInDockID 
kMiddleClickWillPasteID 

Constructor & Destructor Documentation

◆ JXSharedPrefsManager()

JXSharedPrefsManager::JXSharedPrefsManager ( )

◆ ~JXSharedPrefsManager()

JXSharedPrefsManager::~JXSharedPrefsManager ( )
override

Member Function Documentation

◆ ReadPrefs()

void JXSharedPrefsManager::ReadPrefs ( JXSharedPrefObject obj)

◆ WasNew()

bool JXSharedPrefsManager::WasNew ( ) const
inline

Returns true if prefs stored by the application should be used.

◆ WritePrefs()

void JXSharedPrefsManager::WritePrefs ( const JXSharedPrefObject obj)

Member Data Documentation

◆ kRead

const JUtf8Byte * JXSharedPrefsManager::kRead = "Read::JXSharedPrefsManager"
static

The documentation for this class was generated from the following files: