[Amis-vcs] SF.net SVN: amis: [2407] branches/amis3
Brought to you by:
julienq,
marisademeglio
From: <mar...@us...> - 2008-03-16 06:13:14
|
Revision: 2407 http://amis.svn.sourceforge.net/amis/?rev=2407&view=rev Author: marisademeglio Date: 2008-03-15 23:13:20 -0700 (Sat, 15 Mar 2008) Log Message: ----------- text style dialog finished (also in amisAccessibleUi.xml) highlight colors and sidebar font can be controlled via the TextStyleDialog Modified Paths: -------------- branches/amis3/AmisGuiMFC2/include/gui/sidebar/AmisSidebar.h branches/amis3/AmisGuiMFC2/src/gui/AmisApp.cpp branches/amis3/AmisGuiMFC2/src/gui/TextRenderBrain.cpp branches/amis3/AmisGuiMFC2/src/gui/sidebar/AmisSidebar.cpp branches/amis3/AmisGuiMFC2/src/gui/sidebar/AmisSidebarLoader.cpp branches/amis3/DefaultLangpack/amisAccessibleUi.xml Modified: branches/amis3/AmisGuiMFC2/include/gui/sidebar/AmisSidebar.h =================================================================== --- branches/amis3/AmisGuiMFC2/include/gui/sidebar/AmisSidebar.h 2008-03-15 18:39:57 UTC (rev 2406) +++ branches/amis3/AmisGuiMFC2/include/gui/sidebar/AmisSidebar.h 2008-03-16 06:13:20 UTC (rev 2407) @@ -30,10 +30,13 @@ #include "gui/sidebar/cdxCDynamicBar.h" #include "gui/sidebar/NavListControl.h" #include "dtb/nav/NavTarget.h" +#include "util/Color.h" #include <vector> #include <string> +#define AMIS_SIDEBAR_SMALLEST_FONT_SIZE 100 +#define AMIS_SIDEBAR_BIGGEST_FONT_SIZE 400 namespace amis { namespace gui @@ -43,42 +46,39 @@ class CAmisSidebar: public cdxCDynamicBarDlg { public: - CAmisSidebar(CWnd* pParent = NULL); // standard constructor + CAmisSidebar(CWnd* pParent = NULL); ~CAmisSidebar(); CNavListControl* addNavListWidget(); void addTab(std::wstring); - //void nextSection(); - //void previousSection(); void expandAllSections(); void expandSections(int level); int getExposedDepth(); void clearAll(); - - //{{AFX_DATA(CAmisSidebar) + void setHighlightBGColor(amis::util::Color); + void setHighlightFGColor(amis::util::Color); + void setPageBGColor(amis::util::Color); + void setPageFGColor(amis::util::Color); + void setFontName(std::string); + void setFontSize(double); + enum { IDD = IDD_SIDEBAR }; - CTabCtrl m_wndTab; - CTreeCtrl m_wndTree; + CTabCtrl m_wndTab; + CTreeCtrl m_wndTree; CListCtrl m_wndPageList; - int m_iSel; - //}}AFX_DATA + int m_iSel; - //{{AFX_MSG(CAmisSidebar) afx_msg void OnSelchangeTab(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnSelchangeTree(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnNavListSelect(NMHDR* pNMHDR, LRESULT* pResult, amis::dtb::nav::NavTarget* pData); afx_msg void OnPageListClick(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnPageListKeyDown(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnLvnItemchangedListPage(NMHDR *pNMHDR, LRESULT *pResult); - //}}AFX_MSG - -// Overrides - // ClassWizard generated virtual function overrides - //{{AFX_VIRTUAL(CAmisSidebar) - protected: + +protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support virtual BOOL PreTranslateMessage(MSG* pMsg); - //}}AFX_VIRTUAL - + virtual BOOL OnInitDialog(); + private: void showPageList(); void showNavList(unsigned int); @@ -93,17 +93,13 @@ int mNumTabs; int mExposedDepth; bool mIsShiftDown; - bool mIsControlDown; + bool mIsControlDown; + CFont mDefaultFont; + CFont* mpAlteredFont; + int mFontSizeInPoints; - -// Implementation -protected: - // Generated message map functions - //{{AFX_MSG(CAmisSidebar) - virtual BOOL OnInitDialog(); - //}}AFX_MSG DECLARE_MESSAGE_MAP(); - + friend class AmisSidebarLoader; }; } Modified: branches/amis3/AmisGuiMFC2/src/gui/AmisApp.cpp =================================================================== --- branches/amis3/AmisGuiMFC2/src/gui/AmisApp.cpp 2008-03-15 18:39:57 UTC (rev 2406) +++ branches/amis3/AmisGuiMFC2/src/gui/AmisApp.cpp 2008-03-16 06:13:20 UTC (rev 2407) @@ -817,6 +817,7 @@ if (dlg.DoModal() == IDOK) { TextRenderBrain::Instance()->redoPageColors(); + MainWndParts::Instance()->mpSidebar->m_wndDlg.setFontName(Preferences::Instance()->getSidebarFontName()); } } Modified: branches/amis3/AmisGuiMFC2/src/gui/TextRenderBrain.cpp =================================================================== --- branches/amis3/AmisGuiMFC2/src/gui/TextRenderBrain.cpp 2008-03-15 18:39:57 UTC (rev 2406) +++ branches/amis3/AmisGuiMFC2/src/gui/TextRenderBrain.cpp 2008-03-16 06:13:20 UTC (rev 2407) @@ -371,6 +371,12 @@ //remove the old stylesheet MainWndParts::Instance()->mpHtmlView->removeStylesheet(mpFontCss); + //apply the size change to the sidebar + double d_fontsz = fontsz; + double d_max = Preferences::Instance()->getFontsizeCssFiles()->size(); + double pct = d_fontsz/d_max; + MainWndParts::Instance()->mpSidebar->m_wndDlg.setFontSize(pct); + ambulant::net::url* css_url = NULL; if (fontsz > 0 && fontsz <= Preferences::Instance()->getFontsizeCssFiles()->size()) { Modified: branches/amis3/AmisGuiMFC2/src/gui/sidebar/AmisSidebar.cpp =================================================================== --- branches/amis3/AmisGuiMFC2/src/gui/sidebar/AmisSidebar.cpp 2008-03-15 18:39:57 UTC (rev 2406) +++ branches/amis3/AmisGuiMFC2/src/gui/sidebar/AmisSidebar.cpp 2008-03-16 06:13:20 UTC (rev 2407) @@ -29,6 +29,7 @@ #include "gui/AmisApp.h" #include "../../../resource.h" #include "util/Log.h" +#include "Preferences.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -49,12 +50,14 @@ : cdxCDynamicBarDlg(CAmisSidebar::IDD, pParent) { m_iSel = 0; + mFontSizeInPoints = AMIS_SIDEBAR_SMALLEST_FONT_SIZE; } CAmisSidebar::~CAmisSidebar() { clearAll(); mImagesForTab.DeleteImageList(); + mDefaultFont.DeleteObject(); } void CAmisSidebar::DoDataExchange(CDataExchange* pDX) @@ -94,12 +97,85 @@ } mNumTabs = 0; } +void CAmisSidebar::setHighlightBGColor(amis::util::Color clr) +{ + //TODO: implement sidebar highlight control +} +void CAmisSidebar::setHighlightFGColor(amis::util::Color clr) +{ + //TODO: implement sidebar highlight control + //this foreground color feature is easy but meaningless until the BG color can also be changed +} +void CAmisSidebar::setPageBGColor(amis::util::Color clr) +{ + m_wndTree.SetBkColor(clr.getAsColorRef()); + m_wndPageList.SetBkColor(clr.getAsColorRef()); + for (int i = 0; i<mNavLists.size(); i++) + { + mNavLists[i]->SetBkColor(clr.getAsColorRef()); + } +} +void CAmisSidebar::setPageFGColor(amis::util::Color clr) +{ + m_wndTree.SetTextColor(clr.getAsColorRef()); + m_wndPageList.SetTextColor(clr.getAsColorRef()); + for (int i = 0; i<mNavLists.size(); i++) + { + mNavLists[i]->SetTextColor(clr.getAsColorRef()); + } +} +void CAmisSidebar::setFontName(std::string fontName) +{ + USES_CONVERSION; + CFont* p_font = NULL; + p_font=m_wndTree.GetFont(); + LOGFONT lf; + p_font->GetLogFont(&lf); + CString font_name; + font_name = A2T(amis::Preferences::Instance()->getSidebarFontName().c_str()); + lstrcpy(lf.lfFaceName, font_name); + //font default size and boldness values + lf.lfHeight = mFontSizeInPoints; + lf.lfWeight = 600; + mDefaultFont.DeleteObject(); + mDefaultFont.CreatePointFontIndirect(&lf); + m_wndTree.SetFont(&mDefaultFont); + m_wndPageList.SetFont(&mDefaultFont); + for (int i = 0; i < mNavLists.size(); i++) + { + mNavLists[i]->SetFont(&mDefaultFont); + } +} +//pct should give some idea of the total possible gradients +void CAmisSidebar::setFontSize(double pct) +{ + LOGFONT lf; + mDefaultFont.GetLogFont(&lf); + int diff = AMIS_SIDEBAR_BIGGEST_FONT_SIZE - AMIS_SIDEBAR_SMALLEST_FONT_SIZE; + if (pct <= 0.0) + mFontSizeInPoints = AMIS_SIDEBAR_SMALLEST_FONT_SIZE; + else if (pct >= 1.0) + mFontSizeInPoints = AMIS_SIDEBAR_BIGGEST_FONT_SIZE; + else + mFontSizeInPoints = AMIS_SIDEBAR_SMALLEST_FONT_SIZE + (pct * diff); + + lf.lfHeight = mFontSizeInPoints; + mDefaultFont.DeleteObject(); + mDefaultFont.CreatePointFontIndirect(&lf); + m_wndTree.SetFont(&mDefaultFont); + m_wndPageList.SetFont(&mDefaultFont); + for (int i = 0; i < mNavLists.size(); i++) + { + mNavLists[i]->SetFont(&mDefaultFont); + } +} void CAmisSidebar::OnSelchangeTab(NMHDR* pNMHDR, LRESULT* pResult) { m_iSel = m_wndTab.GetCurSel(); - - if (m_iSel == 0) showNavMap(); - + if (m_iSel == 0) + { + showNavMap(); + } else if(m_iSel == 1) { if (amis::dtb::DtbWithHooks::Instance()->getNavModel()->hasPages() == true) showPageList(); @@ -121,7 +197,6 @@ HTREEITEM item; item = m_wndTree.GetSelectedItem(); p_nav = (amis::dtb::nav::NavPoint*)m_wndTree.GetItemData(item); - if (p_nav != NULL) amis::dtb::DtbWithHooks::Instance()->loadNavNode(p_nav); } @@ -329,7 +404,7 @@ m_wndPageList.SetFocus(); this->RedrawWindow(); - //then amis should play an audio prompt "pages" + //TODO: then amis should play an audio prompt "pages" } void CAmisSidebar::showNavList(unsigned int idx) @@ -407,36 +482,7 @@ mNumTabs++; } -/* -void CAmisSidebar::nextSection() -{ - HTREEITEM h_curr = NULL; - h_curr = m_wndTree.GetSelectedItem(); - if (h_curr != NULL) - { - h_curr = m_wndTree.GetNextItem(h_curr, TVGN_NEXTVISIBLE); - m_wndTree.SelectItem(h_curr); - amis::dtb::nav::NavPoint* p_nav = NULL; - p_nav = (amis::dtb::nav::NavPoint*)m_wndTree.GetItemData(h_curr); - amis::dtb::DtbWithHooks::Instance()->loadNavNode(p_nav); - } -} - -void CAmisSidebar::previousSection() -{ - HTREEITEM h_curr = NULL; - h_curr = m_wndTree.GetSelectedItem(); - if (h_curr != NULL) - { - h_curr = m_wndTree.GetPrevVisibleItem(h_curr); - m_wndTree.SelectItem(h_curr); - amis::dtb::nav::NavPoint* p_nav = NULL; - p_nav = (amis::dtb::nav::NavPoint*)m_wndTree.GetItemData(h_curr); - amis::dtb::DtbWithHooks::Instance()->loadNavNode(p_nav); - } -} -*/ //******************* //tree view expand and collapse //******************* Modified: branches/amis3/AmisGuiMFC2/src/gui/sidebar/AmisSidebarLoader.cpp =================================================================== --- branches/amis3/AmisGuiMFC2/src/gui/sidebar/AmisSidebarLoader.cpp 2008-03-15 18:39:57 UTC (rev 2406) +++ branches/amis3/AmisGuiMFC2/src/gui/sidebar/AmisSidebarLoader.cpp 2008-03-16 06:13:20 UTC (rev 2407) @@ -21,6 +21,7 @@ */ #include "gui/sidebar/AmisSidebarLoader.h" #include "util/Log.h" +#include "Preferences.h" using namespace amis::gui::sidebar; @@ -90,6 +91,7 @@ //expand all sections mpSidebar->expandAllSections(); + mpSidebar->setFontName(Preferences::Instance()->getSidebarFontName()); amis::util::Log::Instance()->writeMessage("Data loaded into sidebar"); } Modified: branches/amis3/DefaultLangpack/amisAccessibleUi.xml =================================================================== --- branches/amis3/DefaultLangpack/amisAccessibleUi.xml 2008-03-15 18:39:57 UTC (rev 2406) +++ branches/amis3/DefaultLangpack/amisAccessibleUi.xml 2008-03-16 06:13:20 UTC (rev 2407) @@ -281,6 +281,22 @@ <audio src=""/> </mnemonic> </action> + <!--new item--> + <action mfcid="ID_AMIS_SHOW_TEXTSTYLE" widget="menuItem"> + <note>This is going to be a menu item</note> + <caption> + <text id="xx">Text style...</text> + <audio src=""/> + </caption> + <description> + <text id="xx">Change the text style properties.</text> + <audio src=""/> + </description> + <mnemonic> + <text id="xx">T</text> + <audio src=""/> + </mnemonic> + </action> <action mfcid="AMIS_NAVLIST_BASE_ID" widget="menuItem"> <note>This is going to be a menu item</note> <caption> @@ -1288,6 +1304,26 @@ </caption> </list> </control> + <control mfcid="IDOK" widget="button"> + <caption> + <promptItem refid="ok_button_caption"/> + </caption> + <description> + <promptItem refid="ok_button_description"/> + </description> + </control> + <control mfcid="IDCANCEL" widget="button"> + <caption> + <promptItem refid="cancel_button_caption"/> + </caption> + <description> + <promptItem refid="cancel_button_description"/> + </description> + <mnemonic> + <text id="xx">C</text> + <audio src=""/> + </mnemonic> + </control> </dialog> <dialog mfcid="IDD_GOTOPAGE"> <note>This dialog lets the user jump to a certain page</note> @@ -1538,6 +1574,88 @@ </list> </control> </dialog> + <dialog> + <note>This dialog lets the user set text style properties.</note> + <caption> + <text id="xx">Text Style</text> + <audio src=""/> + </caption> + <description> + <text id="xx">Here you can change text style properties.</text> + <audio src=""/> + </description> + <prompt type="instructions"> + <promptItem refid="tabAround"/> + <promptItem refid="altC_to_cancel"/> + <promptItem refid="repeatLastPromptInstr"/> + <promptItem refid="hearDlgInstructions"/> + </prompt> + <control mfcid="IDC_FONT" widget="list"> + <caption mfcid="IDC_FONTLABEL"> + <text id="xx">Sidebar font:</text> + <audio src=""/> + </caption> + <description> + <text id="xx">Use the arrow keys to move around this list of font names.</text> + <audio src=""/> + </description> + <list repeat="yes"> + <caption> + <promptVar name="FONT_NAME"/> + </caption> + </list> + </control> + <control mfcid="IDC_HIGHLIGHTFOREGROUND" widget="list"> + <caption mfcid="IDC_HIGHLIGHTFOREGROUNDLABEL"> + <text id="xx">Highlighted text color:</text> + <audio src=""/> + </caption> + <description> + <text id="xx">Use the arrow keys to move around this list of colors.</text> + <audio src=""/> + </description> + <list repeat="yes"> + <caption> + <promptVar name="COLOR_NAME"/> + </caption> + </list> + </control> + <control mfcid="IDC_HIGHLIGHTBACKGROUND" widget="list"> + <caption mfcid="IDC_HIGHLIGHTBACKGROUNDLABEL"> + <text id="xx">Highlight background color:</text> + <audio src=""/> + </caption> + <description> + <text id="xx">Use the arrow keys to move around this list of colors.</text> + <audio src=""/> + </description> + <list repeat="yes"> + <caption> + <promptVar name="COLOR_NAME"/> + </caption> + </list> + </control> + <control mfcid="IDOK" widget="button"> + <caption> + <promptItem refid="ok_button_caption"/> + </caption> + <description> + <promptItem refid="ok_button_description"/> + </description> + </control> + <control mfcid="IDCANCEL" widget="button"> + <caption> + <promptItem refid="cancel_button_caption"/> + </caption> + <description> + <promptItem refid="cancel_button_description"/> + </description> + <mnemonic> + <text id="xx">C</text> + <audio src=""/> + </mnemonic> + </control> + </dialog> </dialogs> <prompts> <promptItemRefs> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |