home *** CD-ROM | disk | FTP | other *** search
- /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * The contents of this file are subject to the Netscape Public License
- * Version 1.0 (the "NPL"); you may not use this file except in
- * compliance with the NPL. You may obtain a copy of the NPL at
- * http://www.mozilla.org/NPL/
- *
- * Software distributed under the NPL is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
- * for the specific language governing rights and limitations under the
- * NPL.
- *
- * The Initial Developer of this code under the NPL is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All Rights
- * Reserved.
- */
-
- //
- // Mike Pinkerton, Netscape Communications
- //
- // Class that draws the header area for the nav center which shows the title
- // of the currently selected view as well as harboring the closebox for
- // an easy way to close up the navCenter shelf.
- //
-
- #include "CNavCenterTitle.h"
- #include "CNavCenterSelectorPane.h" // for message id's
-
-
- CNavCenterTitle :: CNavCenterTitle ( LStream *inStream )
- : CGrayBevelView (inStream),
- mTitle(NULL)
- {
-
- }
-
-
- CNavCenterTitle :: ~CNavCenterTitle()
- {
- // nothing to do
- }
-
-
- //
- // FinishCreateSelf
- //
- // Last minute setup stuff....
- //
- void
- CNavCenterTitle :: FinishCreateSelf ( )
- {
- mTitle = dynamic_cast<LCaption*>(FindPaneByID(kTitlePaneID));
- Assert_(mTitle != NULL);
-
- } // FinishCreateSelf
-
-
- //
- // ListenToMessage
- //
- // We want to know when the selected workspace changes so that we can update the
- // title string. The RDFCoordinator sets us up as a listener to the selector pane
- // which will broadcast when things change.
- //
- void
- CNavCenterTitle :: ListenToMessage ( MessageT inMessage, void* ioParam )
- {
- switch ( inMessage ) {
-
- case CNavCenterSelectorPane::msg_ActiveSelectorChanged:
- {
- HT_View newView = reinterpret_cast<HT_View>(ioParam);
- if ( newView ) {
- // do not delete |buffer|
- const char* buffer = HT_GetViewName ( newView );
- TitleCaption().SetDescriptor(LStr255(buffer));
-
- // if we're in the middle of a drag and drop, draw NOW, not
- // when we get a refresh event.
- if ( ::StillDown() ) {
- FocusDraw();
- Draw(nil);
- }
- }
- }
-
- } // case of which message
-
- } // ListenToMessage
-