[sword-svn] r156 - trunk/src/SwordReader_GUI

dtrotzjr at www.crosswire.org dtrotzjr at www.crosswire.org
Sat Jul 26 17:03:33 MST 2008


Author: dtrotzjr
Date: 2008-07-26 17:03:32 -0700 (Sat, 26 Jul 2008)
New Revision: 156

Modified:
   trunk/src/SwordReader_GUI/SRFind.cpp
   trunk/src/SwordReader_GUI/SRFind.h
   trunk/src/SwordReader_GUI/SRMainFrame.cpp
   trunk/src/SwordReader_GUI/SRMainFrame.h
   trunk/src/SwordReader_GUI/SwordReaderResource.h
   trunk/src/SwordReader_GUI/SwordReader_GUI.vcproj
Log:
Some restructuring of SRMainFrame. Now SRModuleView takes some responsibility off of SRMainFrame, and pulls together the functionality of SRTextView, SWModule and VerseKey. Much needed for demand loading.

Modified: trunk/src/SwordReader_GUI/SRFind.cpp
===================================================================
--- trunk/src/SwordReader_GUI/SRFind.cpp	2008-07-23 04:13:46 UTC (rev 155)
+++ trunk/src/SwordReader_GUI/SRFind.cpp	2008-07-27 00:03:32 UTC (rev 156)
@@ -15,7 +15,7 @@
         caller->SetProgress((int)percent);
 }
 
-SRFind::SRFind(const VerseKey *keyReference, SWModule **modCurText)
+SRFind::SRFind()
 :m_hEdtQuery(NULL)
 ,m_hBtnSearch(NULL)
 ,m_hRadRangeBible(NULL)
@@ -29,8 +29,7 @@
 ,m_textPreview(NULL)
 ,m_wMethodMode(SR_FIND_METHOD_MWORD)
 ,m_wRangeMode(SR_FIND_RANGE_BIBLE)
-,m_keyReference(keyReference)
-,m_modCurText(modCurText)
+,m_modCurText(NULL)
 {
     m_wcsClassName = "SRFind";
     m_wcsWindowName = "Sword Search Window";
@@ -57,7 +56,7 @@
         SRMainFrame::GetBookNames()[(verse->Book() - 1) + BIBLE_OT_BOOKS*(verse->Testament() - 1)];
     wcsReference +=
         WCString(" ") 
-		+ WCString(_itow(verse->Chapter(),wchapt, 10))
+        + WCString(_itow(verse->Chapter(),wchapt, 10))
         + WCString(":") 
 		+ WCString(_itow(verse->Verse(), wverse, 10));
 
@@ -122,9 +121,9 @@
     if(pos == LB_ERR)
         return;
     VerseKey keyPreview = m_verseResults[pos];
-    (*m_modCurText)->SetKey(keyPreview);
+    m_modCurText->SetKey(keyPreview);
     m_textPreview->Clear();
-    WCString wcsPreview = (*m_modCurText)->StripText();
+    WCString wcsPreview = m_modCurText->StripText();
     m_textPreview->AddText(wcsPreview.w_str(), wcsPreview.length());
     m_textPreview->UpdateWindow();
 
@@ -344,7 +343,7 @@
     // Clone is a bit dangerous, it creates a new SWKey which has to be deleted
     // thus you cannot simply pass the cloned object to the constructor of
     // a VerseKey object.
-    SWKey *tmp = m_keyReference->clone();
+    SWKey *tmp = m_keyReference.clone();
     VerseKey from(tmp);
 	VerseKey to(tmp);
     delete tmp;
@@ -371,7 +370,7 @@
 	VerseKey verses(from,to);
 	sword::ListKey results;
 
-    results = (*m_modCurText)->search(WCString(strQuery).c_str(), 
+    results = m_modCurText->search(WCString(strQuery).c_str(), 
         (m_wMethodMode == SR_FIND_METHOD_MWORD) ? -2: -1,
         2, &verses, 0, setPercentCB, (void*)this);
     SetProgress(100);
@@ -392,4 +391,11 @@
     m_textPreview->Clear();
     m_textPreview->AddText(wcsPreview.w_str(), wcsPreview.length());
 	m_verseResults.clear();
+}
+
+
+VOID SRFind::SetContext(VerseKey verse, SWModule *pModule)
+{
+    m_keyReference = verse;
+    m_modCurText = pModule;
 }
\ No newline at end of file

Modified: trunk/src/SwordReader_GUI/SRFind.h
===================================================================
--- trunk/src/SwordReader_GUI/SRFind.h	2008-07-23 04:13:46 UTC (rev 155)
+++ trunk/src/SwordReader_GUI/SRFind.h	2008-07-27 00:03:32 UTC (rev 156)
@@ -6,6 +6,7 @@
 #include <versekey.h>
 #include "SRTextView.h"
 
+using namespace sword;
 
 #define IDC_WIDGET_BASE 0x0400
 #define IDC_EDT_QUERY     IDC_WIDGET_BASE + 1
@@ -39,7 +40,7 @@
     public SRFramework::SRWnd
 {
 public:
-    SRFind(const sword::VerseKey *keyReference, sword::SWModule **modCurText);
+    SRFind();
     ~SRFind();
     BOOL Register();
     BOOL Create(SRWnd *pParentWnd, RECT bounds);
@@ -53,6 +54,7 @@
     VOID ClearForm();
     VOID ShowPreview();
     VOID GoToVerse();
+    VOID SetContext(VerseKey verse, SWModule *pModule);
 private:
     static BOOL s_fRegistered;
     HWND m_hEdtQuery;
@@ -68,8 +70,8 @@
     SRTextView *m_textPreview;
     WORD m_wRangeMode;
     WORD m_wMethodMode;
-    const sword::VerseKey *m_keyReference;
-    sword::SWModule **m_modCurText;
+    sword::VerseKey m_keyReference;
+    sword::SWModule *m_modCurText;
     std::vector<sword::VerseKey> m_verseResults;
 
 };

Modified: trunk/src/SwordReader_GUI/SRMainFrame.cpp
===================================================================
--- trunk/src/SwordReader_GUI/SRMainFrame.cpp	2008-07-23 04:13:46 UTC (rev 155)
+++ trunk/src/SwordReader_GUI/SRMainFrame.cpp	2008-07-27 00:03:32 UTC (rev 156)
@@ -27,9 +27,7 @@
 :SRFrame()
 ,m_bufModOptions(NULL)
 ,m_confOptions(NULL)
-,m_keyCurVerse(NULL)
 ,m_menuBar(NULL)
-,m_modCurText(NULL)
 ,m_modGreekLex(NULL)
 ,m_modGreekMorph(NULL)
 ,m_modHebrewLex(NULL)
@@ -37,20 +35,23 @@
 ,m_modTexts(NULL)
 ,m_nTotalOpts(0)
 ,m_swmgr(NULL)
-,m_viewText(NULL)
 ,m_viewChapter(NULL)
 ,m_viewVerse(NULL)
 ,m_viewBook(NULL)
 ,m_viewFind(NULL)
 ,m_fChapterChanged(TRUE)
+,m_nCurrentModule(0)
 {
+    for(int i = 0; i < SR_MAX_MODULE_PAGES; i++)
+        m_viewModules[0] = NULL;
+
     // Create a general options file for storing options 
 	// and navigaiton history
 	const char *cwd = getWorkingDirectory();
 	char confFName[MAX_PATH];
 	_snprintf(confFName, MAX_PATH, "%s\\options.conf", cwd);
 	m_confOptions = new SWConfig(confFName);
-	m_confOptions->Load();
+    m_confOptions->Load();
     
     m_wcsClassName = "SRMainFrame";
     m_wcsWindowName = "SwordReader";
@@ -73,8 +74,8 @@
         delete m_viewVerse;
     if(m_viewFind)
         delete m_viewFind;
-    if(m_viewText)
-        delete m_viewText;
+    if(m_viewModules[m_nCurrentModule])
+        delete m_viewModules[m_nCurrentModule];
 }
 
 BOOL SRMainFrame::Register()
@@ -131,6 +132,10 @@
     GetClientRect(m_hWnd, &view_rect);
 
     CreateCommandBar();
+    
+    m_viewModules[m_nCurrentModule] = new SRModuleView();
+    if(!m_viewModules[m_nCurrentModule]->Create(this, view_rect))
+        return FALSE;
 
     InitSword();
 
@@ -148,22 +153,21 @@
     if(!m_viewChapter->Create(this, view_rect))
         return FALSE;
 
-    m_viewFind = new SRFind(this->m_keyCurVerse, &(this->m_modCurText));
+    m_viewFind = new SRFind();
     if(!m_viewFind->Create(this, view_rect))
         return FALSE;
 
-    m_viewText = new SRTextView();
-    if(!m_viewText->Create(this, view_rect))
-        return FALSE;
-    m_viewText->Show();
-    LoadTextView();
-    
+    m_viewModules[m_nCurrentModule]->Show();
+    m_viewModules[m_nCurrentModule]->RefreshScreen();
+
     m_viewBook->Hide();
     m_viewChapter->Hide();
     m_viewVerse->Hide();
     m_viewFind->Hide();
-    m_viewText->Show();
+    m_viewModules[m_nCurrentModule]->Show();
 
+    UpdateWindowTitle();
+    
     return TRUE;
 }
 
@@ -182,7 +186,7 @@
 BOOL SRMainFrame::UpdateWindow()
 {   
     UpdateWindowTitle();
-    return m_viewText->UpdateWindow();
+    return m_viewModules[m_nCurrentModule]->UpdateWindow();
 }
 
 BOOL SRMainFrame::InitSword()
@@ -190,7 +194,9 @@
     m_modTexts = new ModuleMap();
 
     sword::ModMap::iterator it;
-    sword::SWModule* curMod = 0;
+    sword::SWModule* curMod = NULL;
+    sword::SWModule* textMod = NULL;
+    sword::VerseKey* verse = NULL;
 
     for (it = m_swmgr->Modules.begin(); it != m_swmgr->Modules.end(); it++) {
         curMod = (*it).second;
@@ -214,115 +220,28 @@
         }
     }
     
-    m_modCurText = m_swmgr->getModule((*m_confOptions)["History"].getWithDefault("LastVersion", "KJV"));
-    if(!m_modCurText){
-        m_modCurText = m_modTexts->begin()->second;
+    textMod = m_swmgr->getModule((*m_confOptions)["History"].getWithDefault("LastVersion", "KJV"));
+    if(!textMod){
+        textMod = m_modTexts->begin()->second;
     }
+    m_viewModules[m_nCurrentModule]->SetModule(textMod);
 
-    m_keyCurVerse = new VerseKey((*m_confOptions)["History"].getWithDefault("LastPassage", "Gen 1:1"));
+    verse = new VerseKey((*m_confOptions)["History"].getWithDefault("LastPassage", "Gen 1:1"));
+    m_viewModules[m_nCurrentModule]->SetKey(*verse);
 
-    if(!m_menuBar || !m_menuBar->FillTranslationsSubMenu(m_modTexts, m_modCurText, MENU_TRANS_START))
+    if(!m_menuBar || !m_menuBar->FillTranslationsSubMenu(m_modTexts, this->m_viewModules[m_nCurrentModule]->GetModule(), MENU_TRANS_START))
         return FALSE;
     
     // Gets the supported global options and fills the options sub menu.
     if(!GetSupportedOptions())
         return FALSE;
 
+    delete verse;
+    
     return TRUE;
 }
 
-void SRMainFrame::LoadTextView() {
-	WCString buf, text, s;
-	/*
-    ::SendMessage(g_hwndCB, TB_ENABLEBUTTON, MENU_BOOK, false);
-	::SendMessage(g_hwndCB, TB_ENABLEBUTTON, MENU_CHAP, false);
-	::SendMessage(g_hwndCB, TB_ENABLEBUTTON, MENU_VERSE, false);
-	::SendMessage(g_hwndCB, TB_ENABLEBUTTON, MENU_TEXT, false);
-	::SendMessage(g_hwndCB, TB_ENABLEBUTTON, MENU_FIND, false);
-	::SendMessage(g_hwndCB, TB_ENABLEBUTTON, MENU_MENU, false);
-	
-	
-	// Suspend user interaction until this page is fully loaded.
-	::PostThreadMessage(g_tMain, WM_TXT_START, NULL, NULL);
-    */
-    if(!m_fChapterChanged) // This text should still be valid...
-        return;
-    else
-        m_fChapterChanged = false;
 
-    m_viewText->Clear();
-    VerseKey keyCur(m_keyCurVerse);
-    keyCur.Verse(1);
-
-    m_viewText->AddText(buf.w_str(), buf.length()); // a <style> section presumably gets skipped
-	char strNum[10];
-	while (true) {
-		m_modCurText->SetKey(keyCur);
-        int pvHeading = 0;
-        text = (TCHAR *)m_modCurText->RenderText();
-        s = "";
-		do {
-			sprintf(strNum, "%i", pvHeading++);
-            SWBuf preverseHeading = m_modCurText->getEntryAttributes()["Heading"]["Preverse"][strNum].c_str();
-			if (preverseHeading.length()) {
-                if(keyCur.Verse() != 1)
-                    s +=  "<br /><br /><b>";
-                else
-                    s += "<b>";
-                s += (TCHAR *)m_modCurText->RenderText(preverseHeading);
-                s += "</b><br /><br />";
-			}
-			else break;
-		} while (true);
-        s += GetVerseHeader(keyCur);
-        s += text + " ";
-		
-        m_viewText->AddText(s.w_str(), s.length());
-
-        if (keyCur.Verse() == GetMaxVerses())
-			break;
-		else
-            keyCur.increment(1);
-	}
-    buf = "</body></html>";
-    m_viewText->AddText(buf.w_str(), buf.length());
-
-	/*
-    // Allow user interaction since this page is now fully loaded.
-	::PostThreadMessage(g_tMain, WM_TXT_END, NULL, NULL);
-	::SendMessage(g_hwndCB, TB_ENABLEBUTTON, MENU_BOOK, true);
-	::SendMessage(g_hwndCB, TB_ENABLEBUTTON, MENU_CHAP, true);
-	::SendMessage(g_hwndCB, TB_ENABLEBUTTON, MENU_VERSE, true);
-	::SendMessage(g_hwndCB, TB_ENABLEBUTTON, MENU_TEXT, true);
-	::SendMessage(g_hwndCB, TB_ENABLEBUTTON, MENU_FIND, true);
-	::SendMessage(g_hwndCB, TB_ENABLEBUTTON, MENU_MENU, true);
-	*/
-
-    m_viewText->RefreshWindow();
-    m_viewText->ScrollToVerse(m_keyCurVerse->Verse());
-    UpdateWindowTitle();
-}
-
-
-WCString SRMainFrame::GetVerseHeader(VerseKey key) {
-    wchar_t wverse[16] = {0};
-    wchar_t wchap[16] = {0};
-    _itow(key.Verse(), wverse, 10);
-    _itow(key.Chapter(), wchap, 10);
-
-	WCString result = "\n<b><a name=\"";
-	result += wverse;
-	result += "\">";
-    if (key.Verse() == 1) {
-		result += wchap;
-		result += ":";
-	}
-	result += wverse;
-	result += "</a></b>&nbsp;";
-
-	return result;
-}
-
 BOOL SRMainFrame::OnCommand(WORD wNotifyCode, WORD wID, HWND hWndCtl)
 {
     INT nTransID = 0;
@@ -342,46 +261,47 @@
             ::SendMessage (m_hWnd, WM_CLOSE, 0, 0);
             exit(0);
         case MENU_TEXT:
-            m_viewText->Show();
+            m_viewModules[m_nCurrentModule]->Show();
             m_viewBook->Hide();
             m_viewChapter->Hide();
             m_viewVerse->Hide();
             m_viewFind->Hide();
-            LoadTextView();
+            m_viewModules[m_nCurrentModule]->RefreshScreen();
             SetFocus();
             break;
         case MENU_BOOK:
-            m_viewBook->SetSelectedBook(m_keyCurVerse->Book() + (m_keyCurVerse->Testament() == 1 ? 0 : BIBLE_OT_BOOKS) );
+            m_viewBook->SetSelectedBook(m_viewModules[m_nCurrentModule]->GetBook() + (m_viewModules[m_nCurrentModule]->GetTestament() == 1 ? 0 : BIBLE_OT_BOOKS) );
             m_viewBook->Show();
             m_viewChapter->Hide();
             m_viewVerse->Hide();
-            m_viewText->Hide();
+            m_viewModules[m_nCurrentModule]->Hide();
             m_viewFind->Hide();
             break;
         case MENU_CHAP:
-            m_viewChapter->SetEndNumber(GetMaxChapters());
-            m_viewChapter->SetSelectedNumber(m_keyCurVerse->Chapter());
+            m_viewChapter->SetEndNumber(m_viewModules[m_nCurrentModule]->GetChapterMax());
+            m_viewChapter->SetSelectedNumber(m_viewModules[m_nCurrentModule]->GetChapter());
             m_viewChapter->Show();
             m_viewBook->Hide();
-            m_viewText->Hide();
+            m_viewModules[m_nCurrentModule]->Hide();
             m_viewVerse->Hide();
             m_viewFind->Hide();
             break;
         case MENU_VERSE:
-            m_viewVerse->SetEndNumber(GetMaxVerses());
-            m_viewVerse->SetSelectedNumber(m_keyCurVerse->Verse());
+            m_viewVerse->SetEndNumber(m_viewModules[m_nCurrentModule]->GetVerseMax());
+            m_viewVerse->SetSelectedNumber(m_viewModules[m_nCurrentModule]->GetVerse());
             m_viewVerse->Show();
             m_viewBook->Hide();
             m_viewChapter->Hide();
-            m_viewText->Hide();
+            m_viewModules[m_nCurrentModule]->Hide();
             m_viewFind->Hide();
             break;
         case MENU_FIND:
+            m_viewFind->SetContext(m_viewModules[m_nCurrentModule]->GetVerseKey(), m_viewModules[m_nCurrentModule]->GetModule());
             m_viewFind->Show();
             m_viewVerse->Hide();
             m_viewBook->Hide();
             m_viewChapter->Hide();
-            m_viewText->Hide();
+            m_viewModules[m_nCurrentModule]->Hide();
             break;
         case SR_SETBOOK:
             SetBook(newValue);
@@ -393,9 +313,8 @@
             SetVerse(newValue, wNotifyCode == SR_MSRC_CHOOSER);
             break;
         case SR_SETVERSEKEY:
-            m_keyCurVerse->copyFrom(reinterpret_cast<VerseKey*>(hWndCtl));
+            m_viewModules[m_nCurrentModule]->SetKey(*reinterpret_cast<VerseKey*>(hWndCtl));
             UpdateWindowTitle();
-            LoadTextView();
             break;
         default:
             // Check the custom made menu items...
@@ -417,100 +336,38 @@
 
 VOID SRMainFrame::SetBook(INT nBook)
 {
-    if(nBook > BIBLE_OT_BOOKS){
-        if( m_keyCurVerse->Testament() != 2 ||
-                m_keyCurVerse->Book() + BIBLE_OT_BOOKS != nBook){
-            m_keyCurVerse->Testament(SWORD_NEW_TESTAMENT);
-            m_keyCurVerse->Book(nBook - BIBLE_OT_BOOKS);
-            m_keyCurVerse->Chapter(1);
-            m_keyCurVerse->Verse(1);
-        }
-    }else{
-        if( m_keyCurVerse->Testament() != 1 ||
-                m_keyCurVerse->Book != nBook){
-            m_keyCurVerse->Testament(SWORD_OLD_TESTAMENT);
-            m_keyCurVerse->Book(nBook);
-            m_keyCurVerse->Chapter(1);
-            m_keyCurVerse->Verse(1);
-        }
-    }
-    m_fChapterChanged = true;
+    m_viewModules[m_nCurrentModule]->SetBook(nBook);
     UpdateWindowTitle();
 }
 
 
 VOID SRMainFrame::SetChapter(INT nChapter)
 {
-    if(m_keyCurVerse->Chapter() != nChapter){
-        m_keyCurVerse->Chapter(nChapter);
-        m_keyCurVerse->Verse(1);
-        m_fChapterChanged = true;
-        UpdateWindowTitle();
-    }
+    m_viewModules[m_nCurrentModule]->SetChapter(nChapter);
+    UpdateWindowTitle();
 }
 
 
 VOID SRMainFrame::SetVerse(INT nVerse, BOOL fScroll)
 {
-    if(nVerse < 0)
-        return; // This isn't a valid verse.
-    m_keyCurVerse->Verse(nVerse);
-    if(fScroll)
-        m_viewText->ScrollToVerse(m_keyCurVerse->Verse());
+    m_viewModules[m_nCurrentModule]->SetVerse(nVerse, fScroll); 
     UpdateWindowTitle();
 }
 
 BOOL SRMainFrame::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
 {
-    INT a = 0;
-    switch(nChar)
-    {
-    case VK_UP:
-        m_viewText->ScrollFullPage(1);
-        if(m_viewText->GetVerseNum() > -1)
-            m_keyCurVerse->Verse(m_viewText->GetVerseNum());
-        UpdateWindowTitle();
-        break;
-    case VK_DOWN:
-        m_viewText->ScrollFullPage(-1);
-        if(m_viewText->GetVerseNum() > -1)
-            m_keyCurVerse->Verse(m_viewText->GetVerseNum());
-        UpdateWindowTitle();
-        break;
-    case VK_LEFT:
-        if(m_keyCurVerse->Verse() > 1){
-            m_keyCurVerse->Verse(1);
-            m_viewText->ScrollToVerse(1);
-        }else{
-            m_keyCurVerse->decrement(1);
-            m_keyCurVerse->Verse(1);
-            m_fChapterChanged = true;
-            LoadTextView();
-        }
-        UpdateWindowTitle();
-        break;
-    case VK_RIGHT:
-        m_keyCurVerse->Chapter(m_keyCurVerse->Chapter() + 1);
-        m_fChapterChanged = true;
-        LoadTextView();
-        break;
-    default:
-        return FALSE;
-    }
-    return TRUE;
+    BOOL fRetVal = m_viewModules[m_nCurrentModule]->OnKeyDown(nChar, nRepCnt, nFlags);
+    UpdateWindowTitle();
+    return fRetVal;
 }
 
 void SRMainFrame::SelectModule(INT nModIndex)
 {
-    SWModule *tmp = m_modCurText;
     ModuleMap::iterator it = m_modTexts->begin();
     for(int i = 0; i < nModIndex; i++)
         it++;
-    m_modCurText = it->second;
-    if(tmp != m_modCurText){
-        m_fChapterChanged = true;
-        LoadTextView();
-    }
+    m_viewModules[m_nCurrentModule]->SetModule(it->second); 
+    UpdateWindowTitle();
 }
 
 BOOL SRMainFrame::GetSupportedOptions()
@@ -576,32 +433,15 @@
             }
         }
     }
-    LoadTextView();
+    m_viewModules[m_nCurrentModule]->RefreshScreen(TRUE);
 }
 
-void SRMainFrame::UpdateWindowTitle()
+void SRMainFrame::SetWindowTitle(const WCString &wcsTitle)
 {    
-    wchar_t wverse[16] = {0};
-    wchar_t wchapt[16] = {0};
-    
-    WCString title =  
-        WCString(m_modCurText->Name()) + " " + 
-        s_wcsBookNames[(m_keyCurVerse->Book() - 1) + BIBLE_OT_BOOKS*(m_keyCurVerse->Testament() - 1)] + WCString(" ") + 
-        WCString(_itow(m_keyCurVerse->Chapter(),wchapt, 10)) + WCString(":") + 
-        WCString(_itow(m_keyCurVerse->Verse(), wverse, 10));
-    SetWindowText(m_hWnd,title.w_str());
+    SetWindowText(m_hWnd,wcsTitle.w_str());
 }
-    
-INT SRMainFrame::GetMaxChapters()
-{
-    VerseKey ref(m_keyCurVerse);
-    ref = MAXCHAPTER;
-    return ref.Chapter();
-}
 
-INT SRMainFrame::GetMaxVerses()
-{
-    VerseKey ref(m_keyCurVerse);
-    ref = MAXVERSE;
-    return ref.Verse();
-}
+void SRMainFrame::UpdateWindowTitle()
+{    
+    SetWindowText(m_hWnd,m_viewModules[m_nCurrentModule]->GetWindowTitle().w_str());
+}
\ No newline at end of file

Modified: trunk/src/SwordReader_GUI/SRMainFrame.h
===================================================================
--- trunk/src/SwordReader_GUI/SRMainFrame.h	2008-07-23 04:13:46 UTC (rev 155)
+++ trunk/src/SwordReader_GUI/SRMainFrame.h	2008-07-27 00:03:32 UTC (rev 156)
@@ -8,7 +8,7 @@
 #include "SRFramework/SRCommandBar.h"
 #include "SRFramework/SRCommandBar.h"
 #include "SRFramework/SRMenu.h"
-#include "SRTextView.h"
+#include "SRModuleView.h"
 #include "SRMenuBar.h"
 #include "SRNumberChooser.h"
 #include "SRBookChooser.h"
@@ -35,14 +35,14 @@
     void ToggleOption(WORD wID);
 
     void UpdateWindowTitle();
+    void SetWindowTitle(const WCString &wcsTitle);
     
     // Sword related
     BOOL InitSword();
-    INT GetMaxChapters();
-    INT GetMaxVerses();
+
+    // Do these belong here?... dctrotz
     static const WCString *GetBookNames() { return s_wcsBookNames; }
-    void LoadTextView();
-    WCString GetVerseHeader(VerseKey key);
+
     BOOL OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
     VOID SetBook(INT nBook);
     VOID SetChapter(INT nChapter);
@@ -52,15 +52,16 @@
     SWConfig     *m_confOptions;
     SWBuf        *m_bufModOptions;
     SRMenuBar    *m_menuBar;
-    SRTextView   *m_viewText;
+    // The following two variables will allow for multiple views (commentary, bible, parallel, etc.)
+    // For now we only have one.
+    INT          m_nCurrentModule;
+    SRModuleView *m_viewModules[SR_MAX_MODULE_PAGES];
 	SWMgr        *m_swmgr;
     ModuleMap    *m_modTexts;
-    SWModule     *m_modCurText;
     SWModule     *m_modGreekLex;
     SWModule     *m_modGreekMorph;
     SWModule     *m_modHebrewLex;
     SWModule     *m_modHebrewMorph;
-    VerseKey     *m_keyCurVerse;
     SRNumberChooser *m_viewVerse;
     SRNumberChooser *m_viewChapter;
     SRBookChooser   *m_viewBook;

Modified: trunk/src/SwordReader_GUI/SwordReaderResource.h
===================================================================
--- trunk/src/SwordReader_GUI/SwordReaderResource.h	2008-07-23 04:13:46 UTC (rev 155)
+++ trunk/src/SwordReader_GUI/SwordReaderResource.h	2008-07-27 00:03:32 UTC (rev 156)
@@ -29,6 +29,8 @@
 
 typedef std::map<const char*, sword::SWModule*, ltstr> ModuleMap;
 
+#define SR_MAX_MODULE_PAGES    4
+
 #define SWORD_OLD_TESTAMENT    1
 #define SWORD_NEW_TESTAMENT    2
 

Modified: trunk/src/SwordReader_GUI/SwordReader_GUI.vcproj
===================================================================
--- trunk/src/SwordReader_GUI/SwordReader_GUI.vcproj	2008-07-23 04:13:46 UTC (rev 155)
+++ trunk/src/SwordReader_GUI/SwordReader_GUI.vcproj	2008-07-27 00:03:32 UTC (rev 156)
@@ -871,6 +871,10 @@
 				>
 			</File>
 			<File
+				RelativePath=".\SRModuleView.cpp"
+				>
+			</File>
+			<File
 				RelativePath=".\SRNumberChooser.cpp"
 				>
 			</File>
@@ -940,6 +944,10 @@
 				>
 			</File>
 			<File
+				RelativePath=".\SRModuleView.h"
+				>
+			</File>
+			<File
 				RelativePath=".\SRNumberChooser.h"
 				>
 			</File>




More information about the sword-cvs mailing list