⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 widgetsetup.cpp

📁 好不容易找到的用多种语言写的ArcGisEngine二次开发程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/*
 Copyright 1995-2004 ESRI

 All rights reserved under the copyright laws of the United States.

 You may freely redistribute and use this sample code, with or without modification.

 Disclaimer: THE SAMPLE CODE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 
 WARRANTIES, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
 FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ESRI OR 
 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 
 OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
 INTERRUPTION) SUSTAINED BY YOU OR A THIRD PARTY, HOWEVER CAUSED AND ON ANY 
 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ARISING IN ANY 
 WAY OUT OF THE USE OF THIS SAMPLE CODE, EVEN IF ADVISED OF THE POSSIBILITY OF 
 SUCH DAMAGE.

 For additional information contact: Environmental Systems Research Institute, Inc.

 Attn: Contracts Dept.

 380 New York Street

 Redlands, California, U.S.A. 92373 

 Email: contracts@esri.com
*/

#include "WidgetSetup.h"

extern IPageLayoutControlPtr g_ipPageLayoutControl;
extern IToolbarControlPtr g_ipToolbarControl;
extern ITOCControlPtr g_ipTOCControl;
extern IMapDocumentPtr g_ipMapDoc;

Widget g_mainWindow;
Widget g_currentMapText;
Widget g_selectFile;
Widget g_saveFile;
Widget g_saveAsButton;
Widget g_saveButton;

void SetUpForm(int argc, char* argv[], XtAppContext* app_context)
{
  // Initialize the Motif toolkit and create the parent widget
  XtSetLanguageProc(NULL, NULL, NULL);
  Widget topLevel = XtVaAppInitialize(app_context, "XApplication", 
                                      NULL, 0, &argc, argv, NULL, NULL);

  XtVaSetValues(topLevel, XmNtitle, "Save Map Document", NULL);
  
  // Set the application size by resizing the created widget
  XtResizeWidget(topLevel, 660, 480, 1);
  
  g_mainWindow = XtVaCreateWidget("g_mainWindow", xmMainWindowWidgetClass, topLevel, NULL);
  
  Widget mainForm = XtVaCreateWidget("mainForm",
                                     xmFormWidgetClass,           g_mainWindow,
                                     XmNtopAttachment,            XmATTACH_WIDGET,
                                     XmNtopWidget,                g_mainWindow,
                                     XmNbottomAttachment,         XmATTACH_WIDGET,
                                     XmNbottomWidget,             g_mainWindow,
                                     XmNleftAttachment,           XmATTACH_WIDGET,
                                     XmNleftWidget,               g_mainWindow,
                                     XmNrightAttachment,          XmATTACH_WIDGET,
                                     XmNrightWidget,              g_mainWindow,
                                     XmNfractionBase,             100,
                                     NULL);

  // Create and place rightPanel
  Widget rightPanel = XtVaCreateWidget("rightPanel",
                                       xmFormWidgetClass,         mainForm,
                                       XmNtopAttachment,          XmATTACH_FORM,
                                       XmNrightAttachment,        XmATTACH_FORM,
                                       XmNbottomAttachment,       XmATTACH_FORM,
                                       XmNwidth,                  140,
                                       XmNfractionBase,           140,
                                       NULL);

  // Create and place leftpanel
  Widget leftPanel = XtVaCreateWidget("leftPanel",
                                      xmFormWidgetClass,          mainForm,
                                      XmNtopAttachment,           XmATTACH_FORM,
                                      XmNleftAttachment,          XmATTACH_FORM,
                                      XmNbottomAttachment,        XmATTACH_FORM,
                                      XmNrightAttachment,         XmATTACH_WIDGET,
                                      XmNrightWidget,             rightPanel,     
                                      XmNleftOffset,              5,
                                      NULL);

  // Create and place currentMapText
  g_currentMapText = XtVaCreateWidget("currentMapText",
                                      xmTextFieldWidgetClass,     leftPanel,
                                      XmNalignment,               XmALIGNMENT_BEGINNING,
                                      XmNleftAttachment,          XmATTACH_FORM,
                                      XmNrightAttachment,         XmATTACH_FORM,
                                      XmNbottomAttachment,        XmATTACH_FORM,
                                      XmNeditable,                False,
                                      XmNcursorPositionVisible,   False,
                                      XmNbottomOffset,            5,
                                      NULL);
                                           
  // Create and place controlsPanel
  Widget controlsPanel = XtVaCreateWidget("controlsPanel",
                                          xmFormWidgetClass,      leftPanel,
                                          XmNtopAttachment,       XmATTACH_FORM,
                                          XmNleftAttachment,      XmATTACH_FORM,
                                          XmNrightAttachment,     XmATTACH_FORM,
                                          XmNbottomAttachment,    XmATTACH_WIDGET,
                                          XmNbottomWidget,        g_currentMapText,
                                          XmNbottomOffset,        5,
                                          NULL);
  
  // Create and place toolbarWidget
  Widget toolbarWidget = XtVaCreateWidget("toolbarWidget",
                                          mwCtlWidgetClass,       controlsPanel,
                                          XmNtopAttachment,       XmATTACH_FORM,
                                          XmNleftAttachment,      XmATTACH_FORM,
                                          XmNrightAttachment,     XmATTACH_FORM,
                                          MwNprogID,              AoPROGID_ToolbarControl,
                                          XmNtopOffset,           5,
                                          NULL);
  XtVaSetValues(toolbarWidget, XmNheight, 25, NULL);
  g_ipToolbarControl = AoToolbarControlGetInterface(toolbarWidget);

  // Create and place tocPLPanel
  Widget tocPLPanel = XtVaCreateWidget("tocPLPanel",
                                       xmFormWidgetClass,         controlsPanel,
                                       XmNtopAttachment,          XmATTACH_WIDGET,
                                       XmNtopWidget,              toolbarWidget,
                                       XmNleftAttachment,         XmATTACH_FORM,
                                       XmNrightAttachment,        XmATTACH_FORM,
                                       XmNbottomAttachment,       XmATTACH_FORM,
                                       XmNtopOffset,              5,
                                       NULL);

  // Create and place tocWidget
  Widget tocWidget = XtVaCreateWidget("tocWidget",
                                      mwCtlWidgetClass,           tocPLPanel,
                                      XmNtopAttachment,           XmATTACH_FORM,
                                      XmNleftAttachment,          XmATTACH_FORM,
                                      XmNbottomAttachment,        XmATTACH_FORM,
                                      MwNprogID,                  AoPROGID_TOCControl,
                                      NULL);
  XtVaSetValues(tocWidget, XmNwidth, 150, NULL);
  g_ipTOCControl = AoTOCControlGetInterface(tocWidget);

  // Create and place pageLayoutWidget
  Widget pageLayoutWidget = XtVaCreateWidget("pageLayoutWidget",
                                             mwCtlWidgetClass,        tocPLPanel,
                                             XmNbottomAttachment,     XmATTACH_FORM,
                                             XmNtopAttachment,        XmATTACH_FORM,
                                             XmNrightAttachment,      XmATTACH_FORM,
                                             XmNleftAttachment,       XmATTACH_WIDGET,
                                             XmNleftWidget,           tocWidget,
                                             MwNprogID,      AoPROGID_PageLayoutControl,
                                             NULL);
  g_ipPageLayoutControl = AoPageLayoutControlGetInterface(pageLayoutWidget);

  // Create and place openButton
  XmString label = XmStringCreateLocalized("Open Document...");
  Widget openButton = XtVaCreateWidget("openButton",
                                       xmPushButtonWidgetClass, rightPanel,
                                       XmNlabelString,          label,
                                       XmNleftAttachment,       XmATTACH_POSITION,
                                       XmNleftPosition,         5,
                                       XmNtopAttachment,        XmATTACH_POSITION,
                                       XmNtopPosition,          10,
                                       XmNrightAttachment,      XmATTACH_POSITION,
                                       XmNrightPosition,        135,
                                       XmNheight,               35,
                                       XmNwidth,                100,
                                       NULL);
  XmStringFree(label);
  XtAddCallback(openButton, XmNactivateCallback, OpenClick, NULL);

  // Create and place openButton
  label = XmStringCreateLocalized("Save Document As...");
  g_saveAsButton = XtVaCreateWidget("g_saveAsButton",
                                    xmPushButtonWidgetClass, rightPanel,
                                    XmNlabelString,          label,
                                    XmNleftAttachment,       XmATTACH_POSITION,
                                    XmNleftPosition,         5,
                                    XmNtopAttachment,        XmATTACH_WIDGET,
                                    XmNtopWidget,            openButton,
                                    XmNrightAttachment,      XmATTACH_POSITION,
                                    XmNrightPosition,        135,
                                    XmNheight,               35,
                                    XmNwidth,                100,
                                    XmNtopOffset,            5,
                                    XmNsensitive,            false,
                                    NULL);
  XmStringFree(label);
  XtAddCallback(g_saveAsButton, XmNactivateCallback, SaveAsClick, NULL);

  // Create and place openButton
  label = XmStringCreateLocalized("Save Document");
  g_saveButton = XtVaCreateWidget("g_saveButton",
                                  xmPushButtonWidgetClass, rightPanel,
                                  XmNlabelString,          label,
                                  XmNleftAttachment,       XmATTACH_POSITION,
                                  XmNleftPosition,         5,
                                  XmNtopAttachment,        XmATTACH_WIDGET,
                                  XmNtopWidget,            g_saveAsButton,
                                  XmNrightAttachment,      XmATTACH_POSITION,
                                  XmNrightPosition,        135,
                                  XmNheight,               35,
                                  XmNwidth,                100,
                                  XmNtopOffset,            5,
                                  XmNsensitive,            false,
                                  NULL);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -