Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
2.1 KiB

  1. //
  2. // profiles.h
  3. //
  4. #ifndef PROFILES_H
  5. #define PROFILES_H
  6. #include "private.h"
  7. #include "strary.h"
  8. #include "assembly.h"
  9. #include "ic.h"
  10. class CThreadInputMgr;
  11. //
  12. // profiles.cpp
  13. //
  14. void UpdateSystemLangBarItems(SYSTHREAD *psfn, HKL hkl, BOOL fNotify);
  15. #define ACTASM_NONE 0
  16. #define ACTASM_ONTIMACTIVE 1
  17. #define ACTASM_ONSHELLLANGCHANGE 2
  18. typedef WORD ACTASM;
  19. BOOL ActivateAssembly(LANGID langid, ACTASM actasm);
  20. BOOL SyncActivateAssembly(SYSTHREAD *psfn, LANGID langid, ACTASM actasm);
  21. BOOL ActivateNextAssembly(BOOL bPrev);
  22. BOOL ActivateNext(BOOL bPrev);
  23. BOOL ActivateNextKeyTip(BOOL bPrev);
  24. CAssembly *GetCurrentAssembly(SYSTHREAD *psfn = NULL);
  25. #ifdef CHECKFEIMESELECTED
  26. BOOL UnknownFEIMESelected(LANGID langid);
  27. BOOL SyncUnknownFEIMESelected(SYSTHREAD *psfn, LANGID langid);
  28. #endif CHECKFEIMESELECTED
  29. #define AAIF_CHANGEDEFAULT 0x00000001
  30. BOOL ActivateAssemblyItem(SYSTHREAD *psfn, LANGID langid, ASSEMBLYITEM *pItem, DWORD dwFlags);
  31. BOOL SyncActivateAssemblyItem(SYSTHREAD *psfn, LANGID langid, ASSEMBLYITEM *pItem, DWORD dwFlags);
  32. BOOL SetFocusDIMForAssembly(BOOL fSetFocus);
  33. UINT GetKeyboardItemNum();
  34. //////////////////////////////////////////////////////////////////////////////
  35. //
  36. // CEnumLanguageProfile
  37. //
  38. //////////////////////////////////////////////////////////////////////////////
  39. class CEnumLanguageProfiles : public IEnumTfLanguageProfiles,
  40. public CComObjectRootImmx
  41. {
  42. public:
  43. CEnumLanguageProfiles();
  44. ~CEnumLanguageProfiles();
  45. BEGIN_COM_MAP_IMMX(CEnumLanguageProfiles)
  46. COM_INTERFACE_ENTRY(IEnumTfLanguageProfiles)
  47. END_COM_MAP_IMMX()
  48. IMMX_OBJECT_IUNKNOWN_FOR_ATL()
  49. //
  50. // IEnumTfRangeDeltas
  51. //
  52. STDMETHODIMP Clone(IEnumTfLanguageProfiles **ppEnum);
  53. STDMETHODIMP Next(ULONG ulCount, TF_LANGUAGEPROFILE *rgLanguageProfiles, ULONG *pcFetched);
  54. STDMETHODIMP Reset();
  55. STDMETHODIMP Skip(ULONG ulCount);
  56. BOOL Init(LANGID langid);
  57. private:
  58. LANGID _langid;
  59. int _iCur;
  60. CStructArray<TF_LANGUAGEPROFILE> _rgProfiles;
  61. DBG_ID_DECLARE;
  62. };
  63. #endif // PROFILES_H