Mozilla/mozilla/cmd/xfe/src/BrowserView.cpp
radha%netscape.com 2ff37a6646 Really make the selector bar buttons work, so that people outside xfe can use
RDF bookmarks etc....
The images don't show up on the selector bar buttons
for some reason. Shall fix it later.


git-svn-id: svn://10.0.0.236/trunk@11294 18797224-902f-48f8-a5cc-f745e15eee43
1998-09-28 23:11:12 +00:00

175 lines
4.5 KiB
C++

/* -*- 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.
*/
/*
BrowserView.cpp -- class definition for the browser view class
Created: Radha Kulkarni <radha@netscape.com>, 23-Feb-1998
*/
#include "BrowserView.h"
#include <Xfe/Pane.h>
#if DEBUG_radha
#define D(x) x
#else
#define D(x)
#endif
//////////////////////////////////////////////////////////////////////////
XFE_BrowserView::XFE_BrowserView(XFE_Component * toplevel_component,
Widget parent,
XFE_View * parent_view,
MWContext * context)
: XFE_View(toplevel_component, parent_view, context),
_htmlView(NULL),
_navCenterView(NULL)
{
Widget pane;
// Create a horizontal pane to hold the Navigation Center on the left
// and an HTML View on the right.
pane = XtVaCreateWidget("browserViewPane",
xfePaneWidgetClass,
parent,
XmNorientation, XmHORIZONTAL,
NULL);
// create the HTML view
_htmlView = new XFE_HTMLView(toplevel_component,
pane,
this,
context);
// Place the view to the right (child two)
XtVaSetValues(_htmlView->getBaseWidget(),
XmNpaneChildType, XmPANE_CHILD_WORK_AREA_TWO,
NULL);
// Add _htmlview to the sub-view list of browser view
addView(_htmlView);
// show the html view only to begin with
_htmlView->show();
// Manage the pane after its children
XtManageChild(pane);
// Set the pane as the base widget
setBaseWidget(pane);
}
#ifdef UNDEF
Boolean XFE_BrowserView::isCommandEnabled(CommandType cmd, void * calldata, XFE_CommandInfo * i)
{
}
Boolean XFE_BrowserView::handlesCommand(CommandType cmd, void *calldata = NULL,
XFE_CommandInfo* i = NULL)
{
}
char* XFE_BrowserView::commandToString(CommandType cmd, void *calldata = NULL,
XFE_CommandInfo* i = NULL)
{
}
XP_Bool XFE_BrowserView::isCommandSelected(CommandType cmd, void *calldata = NULL,
XFE_CommandInfo* = NULL)
{
}
#endif
//////////////////////////////////////////////////////////////////////////
void
XFE_BrowserView::showNavCenter()
{
// Create the nav center view for the first time
if (!_navCenterView)
{
_navCenterView = new XFE_NavCenterView(m_toplevel,
m_widget,
this,
m_contextData);
#ifndef MOZ_SELECTOR_BAR
// hack! Load something for now. Eventually tie to toolbar
_navCenterView->newBookmarksPane();
#endif
// Add _navCenterView to the sub-view list of browser view
addView(_navCenterView);
}
XP_ASSERT(_navCenterView);
// Show the nav center
_navCenterView->show();
}
//////////////////////////////////////////////////////////////////////////
void
XFE_BrowserView::hideNavCenter()
{
XP_ASSERT( _navCenterView != NULL );
if (_navCenterView)
{
_navCenterView->hide();
}
}
//////////////////////////////////////////////////////////////////////////
Boolean
XFE_BrowserView::isNavCenterShown(void)
{
return (_navCenterView &&
_navCenterView->isAlive() &&
_navCenterView->isShown());
}
//////////////////////////////////////////////////////////////////////////
XFE_BrowserView::~XFE_BrowserView()
{
// XFE_Frame cleans up views in its dtor() which should take care
// of cleaning up the base widget, or at least I think that -re.
//
#ifdef IM_NOT_SURE
XtDestroyWidget(m_widget);
m_widget = NULL;
#endif
}
//////////////////////////////////////////////////////////////////////////
XFE_NavCenterView * XFE_BrowserView::getNavCenterView()
{
// Callers better know what they are doing
XP_ASSERT( _htmlView != NULL );
return _navCenterView;
}
//////////////////////////////////////////////////////////////////////////
XFE_HTMLView * XFE_BrowserView::getHTMLView()
{
// Callers better know what they are doing
XP_ASSERT( _htmlView != NULL );
return _htmlView;
}
//////////////////////////////////////////////////////////////////////////