//************************************************************************************** // Filename: NibEncodingsDialog.h // Copyright © 2003 _tk_. All rights reserved. // // Description: // //************************************************************************************** // Revision History: // Sunday, August 24, 2003 - Original //************************************************************************************** #pragma once #include "NibModalDialog.h" #include "CyclonePreferences.h" #include "TArray.h" #include "CEncodingArray.h" class APopupButton; class NibEncodingsDialog : public NibModalDialog { public: enum { kInput = 0, kOutput }; NibEncodingsDialog(CFStringRef inNibName, CFStringRef inDlogWindowName); NibEncodingsDialog(CFBundleRef inBundleRef, CFStringRef inNibName, CFStringRef inDlogWindowName); virtual ~NibEncodingsDialog(); virtual OSStatus ProcessCommand(); void SetInitialDialogOptions(TextEncoding inputTextEnc, TextEncoding outputTextEnc, UInt16 inLineBreak, CFStringRef inFileName); void GetClosingDialogOptions(TextEncoding &outInputTextEnc, TextEncoding &outOutputTextEnc, UInt16 &outLineBreak); protected: void Setup(); TextEncoding GetEncoding(UInt32 inSelector); void SetDefaultEncoding(UInt32 inSelector, TextEncoding textEnc); void SetLineBreak(UInt16 inLineBreaksIndex); UInt16 GetLineBreak(); void StandardChanged(UInt32 inSelector); void EncodingChanged(UInt32 inSelector, Boolean inForceRebulid = false); void RebuildEncodings(UInt32 inSelector); void RebuildVariants(UInt32 inSelector); void ResolveDefaultEncoding(UInt32 inSelector, ArrayIndexT index); protected: APopupButton *mStandardPopup; APopupButton *mEncodingPopup; APopupButton *mVariantPopup; APopupButton *mOutStandardPopup; APopupButton *mOutEncodingPopup; APopupButton *mOutVariantPopup; APopupButton *mLineBreaksPopup; SInt32 mCurrentStandardIndx; SInt32 mCurrentEncodingIndx; SInt32 mLineBreaksIndex; SInt32 mOutCurrentStandardIndx; SInt32 mOutCurrentEncodingIndx; CEncodingArray mEncodingBaseArr; TArray mEncodingVariantArr; CEncodingArray mOutEncodingBaseArr; TArray mOutEncodingVariantArr; TextEncoding mDefaultEncoding; private: NibEncodingsDialog(const NibEncodingsDialog&); NibEncodingsDialog& operator=(const NibEncodingsDialog&); };