home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!dtix!darwin.sura.net!mips!msi!dcmartin
- From: liebla@informatik.tu-muenchen.de (Armin Liebl)
- Newsgroups: comp.sources.x
- Subject: v18i099: bibview - BibTeX GUI, Part01/20
- Message-ID: <csx-18i099-bibview@uunet.UU.NET>
- Date: 27 Aug 92 16:12:42 GMT
- Sender: dcmartin@msi.com (David C. Martin - Moderator)
- Organization: Molecular Simulations, Inc.
- Lines: 1649
- Approved: dcmartin@msi.com
- Originator: dcmartin@fascet
-
- Submitted-by: Armin Liebl <liebla@informatik.tu-muenchen.de>
- Posting-number: Volume 18, Issue 99
- Archive-name: bibview/part01
-
- From the README:
-
- The program "bibview" is a graphical interface for manipulating
- BiBTeX databases. It supports the user in making new entries,
- searching for entries and moving entries from one BiB to another.
- It is possible to work with more than one BiB simultaneously.
- bibview is implemented with Xt and Athena Widgets.
- There are six types of windows in bibview:
- The main window contains menus for customizing bibview and
- for working with BiBs on the file level.
- The bibliography window (one for every open BiB) contains commands
- for manipulating the BiB.
- The list window (at most one for every open BiB) shows a list of
- entries. It displays the fields author, title, type and year.
- The card window (at most one for every entry) helps editing an entry.
- It contains boxes for each field of the entry (according to the type).
- The fields can be edited by putting the mouse cursor into the field.
- Macros in fields and the symbol for concatenation ('#') are marked
- with a preceding '@'.
-
- #!/bin/sh
- # This is a shell archive (produced by shar 3.50)
- # To extract the files from this archive, save it to a file, remove
- # everything above the "!/bin/sh" line above, and type "sh file_name".
- #
- # made 08/27/1992 16:09 UTC by dcmartin@fascet
- # Source directory /home/fascet/dcmartin/csx/src/bibview/bibview
- #
- # existing files will NOT be overwritten unless -c is specified
- #
- # This is part 1 of a multipart archive
- # do not concatenate these parts, unpack them in order with /bin/sh
- #
- # This shar contains:
- # length mode name
- # ------ ---------- ------------------------------------------
- # 19072 -rw-r----- BibView
- # 24346 -rw-r--r-- ComboBo.c
- # 2273 -rw-r--r-- ComboBo.h
- # 2925 -rw-r--r-- ComboBoP.h
- # 28730 -rw-r--r-- FileNom.c
- # 3548 -rw-r--r-- FileNom.h
- # 4158 -rw-r--r-- FileNomP.h
- # 905 -rw-r----- Imakefile
- # 10445 -rw-r----- Makefile
- # 7641 -rw-r----- bibview.1
- # 577 -rw-r--r-- b.tab.h
- # 54434 -rw-r--r-- bib_file.c
- # 33489 -rw-r--r-- bib_flex.c
- # 17691 -rw-r--r-- bibview.c
- # 21014 -rw-r--r-- bibview.h
- # 1949 -rw-r----- bibviewrc
- # 3296 -rw-r----- bitmaps/bv_crd64
- # 3296 -rw-r----- bitmaps/bv_ico64
- # 3296 -rw-r----- bitmaps/bv_lst64
- # 893 -rw-r----- bitmaps/error32
- # 896 -rw-r----- bitmaps/notice32
- # 893 -rw-r----- bitmaps/quest32
- # 890 -rw-r----- bitmaps/warn32
- # 296 -rw-r----- bitmaps/chkmrk16
- # 3296 -rw-r----- bitmaps/bv_mac64
- # 3296 -rw-r----- bitmaps/bv_ann64
- # 75895 -rw-r----- bitmaps/proginfo.xbm
- # 3290 -rw-r----- bitmaps/bv_hlp64
- # 61288 -rw-r----- bitmaps/proggerm.xbm
- # 21466 -rw-r--r-- ctl_card.c
- # 11442 -rw-r--r-- ctl_open.c
- # 4078 -rw-r--r-- ctl_opt.c
- # 22375 -rw-r--r-- ctl_prt.c
- # 17577 -rw-r--r-- ctl_save.c
- # 17259 -rw-r--r-- ctl_serv.c
- # 16389 -rw-r--r-- ctl_srch.c
- # 57866 -rw-r--r-- db_tree.c
- # 2289 -rw-r--r-- db_tree.h
- # 19496 -rw-r--r-- fb_res.h
- # 4688 -rw-r----- flexsrc/b.l
- # 29693 -rw-r----- flexsrc/b.y
- # 91 -rwxr----- flexsrc/cm
- # 15414 -rw-r--r-- globdata.c
- # 17139 -rw-r--r-- gui_bibl.c
- # 111282 -rw-r--r-- gui_card.c
- # 16232 -rw-r--r-- gui_edit.c
- # 14331 -rw-r--r-- gui_list.c
- # 7429 -rw-r--r-- gui_main.c
- # 14942 -rw-r--r-- gui_widg.c
- # 15379 -rw-r--r-- rc_file.c
- # 954 -rw-r----- Copyright
- # 1698 -rw-r----- README
- # 39 -rw-r--r-- patchlevel.h
- # 22478 -rw-r--r-- gui_help.c
- # 9408 -rw-r----- Makefile.std
- # 20748 -rw-r--r-- fb_ger.h
- # 6503 -rw-r----- bibview_ger.1
- # 20275 -rw-r----- BibView.ger
- #
- if test -r _shar_seq_.tmp; then
- echo 'Must unpack archives in sequence!'
- echo Please unpack part `cat _shar_seq_.tmp` next
- exit 1
- fi
- # ============= BibView ==============
- if test -f 'BibView' -a X"$1" != X"-c"; then
- echo 'x - skipping BibView (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting BibView (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'BibView' &&
- ! Resource Database for bibView 1.0
- ! ---------------------------------
- ! Language: English
- X
- BibView.title: bibView 1.0
- BibView.iconName: bibView
- BibView*font: *helvetica-bold-r-*-120-*
- X
- ! For color workstations only
- BibView*foreground: Steelblue
- BibView*commandBox*foreground: SteelBlue
- BibView*commandBox*borderColor: Black
- BibView*commandBox*menuLabel.foreground: SlateBlue
- BibView*SimpleMenu*foreground: SteelBlue
- BibView*SimpleMenu*line.foreground: SlateGrey
- X
- ! resources for main program window
- BibView*mainwin.orientation: vertical
- BibView*mainwin.height: 175
- BibView*mainwin.width: 500
- BibView*mainwin*showGrip: false
- BibView*mainwin.commandBox.width: 500
- BibView*mainwin.commandBox.vSpace: 0
- BibView*mainwin.commandBox.hSpace: 0
- BibView*mainwin.commandBox.min: 21
- X
- BibView*mainwin.desktop.label:
- BibView*mainwin.desktop.width: 500
- BibView*mainwin.desktop.height: 150
- BibView*mainwin.desktop.min: 150
- BibView*mainwin.desktop.fromVert: commandBox
- X
- BibView*mainwin*file.label: File
- BibView*mainwin*file.menuName: fileMenu
- BibView*fileMenu.label: File Menu
- BibView*fileMenu*item1*label: New
- BibView*fileMenu*item2*label: Open
- BibView*fileMenu*item3*label: Close
- BibView*fileMenu*item4*label: Save
- BibView*fileMenu*item5*label: Save as
- BibView*fileMenu*quit*label: Quit
- X
- BibView*mainwin*services.label: Services
- BibView*mainwin*services.menuName: servicesMenu
- BibView*servicesMenu.label: Services Menu
- BibView*servicesMenu*item1*label: Consistency Check
- BibView*servicesMenu*item2*label: Unify
- BibView*servicesMenu*item3*label: Print
- BibView*servicesMenu*item4*label: Edit Macros
- BibView*servicesMenu*item5*label: Load Configuration
- X
- BibView*mainwin*options.label: Options
- BibView*mainwin*options.menuName: optionsMenu
- BibView*mainwin*options*leftMargin: 20
- BibView*optionsMenu.label: Options Menu
- BibView*optionsMenu*item1*label: Beep on Error
- BibView*optionsMenu*item2*label: Backup
- BibView*optionsMenu*item3*label: Icons on Desktop
- BibView*optionsMenu*item4*label: Autom. Check
- BibView*optionsMenu*item5*label: Required Fields
- X
- BibView*mainwin*window.label: Window
- BibView*mainwin*window.menuName: windowMenu
- BibView*mainwin*window*leftMargin: 20
- BibView*windowMenu.label: Window Menu
- BibView*windowMenu*item1*label: Cascade
- X
- BibView*mainwin*help.label: Help
- BibView*mainwin*help.menuName: helpMenu
- BibView*helpMenu.label: Help Menu
- BibView*helpMenu*item1*label: Survey
- BibView*helpMenu*item2*label: Main Window
- BibView*helpMenu*item3*label: Bibliography Window
- BibView*helpMenu*item4*label: List Window
- BibView*helpMenu*item5*label: Card Window
- BibView*helpMenu*item6*label: Other Windows
- BibView*helpMenu*info*label: Program Info
- X
- BibView*bibWin.orientation: vertical
- BibView*bibWin.width: 450
- BibView*bibWin.height: 350
- BibView*bibWin*showGrip: false
- BibView*bibWin*commandBox.width: 450
- BibView*bibWin*commandBox.vSpace: 0
- BibView*bibWin*commandBox.hSpace: 0
- BibView*bibWin*commandBox.min: 21
- X
- BibView*bibWin*commandBox*new.label: New
- BibView*bibWin*new.menuName: newMenu
- BibView*bibWin*newMenu.label: New Menu
- BibView*bibWin*newMenu*item2*label: Book
- BibView*bibWin*newMenu*item3*label: Booklet
- BibView*bibWin*newMenu*item5*label: Inbook
- BibView*bibWin*newMenu*item6*label: Incollection
- BibView*bibWin*newMenu*item1*label: Article
- BibView*bibWin*newMenu*item4*label: Conference
- BibView*bibWin*newMenu*item12*label: Proceedings
- BibView*bibWin*newMenu*item7*label: Inproceedings
- BibView*bibWin*newMenu*item13*label: Techreport
- BibView*bibWin*newMenu*item9*label: Mastersthesis
- BibView*bibWin*newMenu*item11*label: Phdthesis
- BibView*bibWin*newMenu*item8*label: Manual
- BibView*bibWin*newMenu*item14*label: Unpublished
- BibView*bibWin*newMenu*item10*label: Misc
- X
- BibView*bibWin*commandBox*search.label: Search
- BibView*bibWin*commandBox*list.label: List
- BibView*bibWin*commandBox*macro.label: Macros
- BibView*bibWin*commandBox*print.label: Print
- BibView*bibWin*commandBox*save.label: Save
- BibView*bibWin*commandBox*close.label: Close
- X
- BibView*bibWin*window.label: Window
- BibView*bibWin*window.menuName: windowMenu
- BibView*bibWin*window*leftMargin: 20
- BibView*bibWin*windowMenu.label: Window Menue
- BibView*bibWin*windowMenu*item1.label: Cascade
- X
- BibView*bibWin.bibdesk.label:
- BibView*bibWin.bibdesk.width: 450
- BibView*bibWin.bibdesk.height: 350
- BibView*bibWin.bibdesk.min: 350
- BibView*bibWin.bibdesk.fromVert: commandBox
- X
- X
- ! resources for list windows
- ! --------------------------
- BibView*listWin*allowShellResize: true
- BibView*listWin*allowResize: true
- BibView*listWin.height: 450
- BibView*listWin.width: 530
- BibView*listWin*foreground: Maroon
- BibView*listWin.horizDistance: 235
- BibView*listWin.vertDistance: 20
- BibView*listWin.borderWidth: 2
- BibView*listWin.orientation: vertical
- BibView*listWin*showGrip: false
- BibView*listWin.commandBox.vSpace: 0
- BibView*listWin.commandBox.hSpace: 0
- BibView*listWin.commandBox.min: 21
- BibView*listWin.commandBox*print.label: Print
- BibView*listWin.commandBox*save.label: Save
- BibView*listWin.commandBox*quit.label: Close
- BibView*listWin*listVport.fromVert: commandBox
- BibView*listWin*listVport*font: *fixed-bold-r-*-100-*
- BibView*listWin*head1.label: Author
- BibView*listWin*head1.width: 200
- BibView*listWin*head2.label: Title
- BibView*listWin*head2.width: 390
- BibView*listWin*head3.label: Type
- BibView*listWin*head3.width: 85
- BibView*listWin*head4.label: Year
- BibView*listWin*head4.width: 30
- BibView*listWin*list.verticalList: true
- BibView*listWin*list.forceColumns: true
- BibView*listWin*list.defaultColumns: 1
- X
- X
- ! resources for edit windows
- ! --------------------------
- BibView*macWin*allowResize: true
- BibView*macWin.height: 300
- BibView*macWin.width: 450
- BibView*macWin.borderWidth: 2
- BibView*macWin.orientation: vertical
- BibView*macWin*showGrip: false
- BibView*macWin.commandBox.vSpace: 0
- BibView*macWin.commandBox.hSpace: 0
- BibView*macWin.commandBox.min: 21
- BibView*macWin.commandBox*save.label: Save
- BibView*macWin.commandBox*close.label: Close
- BibView*macText.fromVert: commandBox
- BibView*macText*font: *fixed-bold-r-*-100-*
- BibView*macText*textSource.editType: edit
- BibView*macText*input: true
- X
- ! resources for help windows
- ! --------------------------
- BibView*helpWin*allowResize: true
- BibView*helpWin.height: 300
- BibView*helpWin.width: 500
- BibView*helpWin.borderWidth: 2
- BibView*helpWin.orientation: vertical
- BibView*helpWin*showGrip: false
- BibView*helpWin.commandBox.vSpace: 0
- BibView*helpWin.commandBox.hSpace: 0
- BibView*helpWin.commandBox.min: 21
- BibView*helpWin.commandBox*close.label: Close
- BibView*helpText.fromVert: commandBox
- BibView*helpText*font: *fixed-bold-r-*-120-*
- BibView*helpText*input: true
- X
- ! resources for annote windows
- ! --------------------------
- BibView*annoteWin*allowResize: true
- BibView*annoteWin.height: 300
- BibView*annoteWin.width: 500
- BibView*annoteWin.borderWidth: 2
- BibView*annoteWin.orientation: vertical
- BibView*annoteWin*showGrip: false
- BibView*annoteWin.commandBox.vSpace: 0
- BibView*annoteWin.commandBox.hSpace: 0
- BibView*annoteWin.commandBox.min: 21
- BibView*annoteWin.commandBox*close.label: Close
- BibView*annoteWin.commandBox*save.label: Save
- BibView*annoteText.fromVert: commandBox
- BibView*annoteText*font: *fixed-bold-r-*-120-*
- BibView*annoteText*input: true
- X
- ! resources for search windows
- ! ----------------------------
- BibView*srchShell.title: Search
- BibView*srchWin.height: 400
- BibView*srchWin.width: 380
- BibView*srchWin.borderWidth: 2
- BibView*srchWin.orientation: vertical
- BibView*srchWin*showGrip: false
- BibView*srchWin.commandBox.vSpace: 0
- BibView*srchWin.commandBox.hSpace: 0
- BibView*srchWin.commandBox.min: 21
- BibView*srchWin.commandBox*ok.label: Start search
- BibView*srchWin.commandBox*cancel.label:Cancel
- BibView*srchWin*srchFlds*borderwidth: 0
- BibView*srchWin*srchFlds*vSpace: 0
- BibView*srchWin*srchFlds*font: *helvetica-bold-r-*-100-*
- BibView*srchWin*ComboBox.borderWidth: 0
- BibView*srchWin*ComboBox.margin: 4
- BibView*srchWin*ComboBox*Text.width: 250
- BibView*srchWin*ComboBox*Toggle.width: 100
- BibView*srchWin*ComboBox*Toggle.justify:left
- BibView*srchWin*ComboBox*Viewport.borderWidth: 4
- BibView*srchWin*ComboBox*Viewport.width: 300
- BibView*srchWin*ComboBox*Viewport.height: 100
- BibView*srchWin*cbTitle*name: Title:
- BibView*srchWin*cbAuthor*name: Author:
- BibView*srchWin*cbCategory*name: Category:
- BibView*srchWin*cbMonth*name: Month:
- BibView*srchWin*cbYear*name: Year:
- BibView*srchWin*cbNote*name: Note:
- BibView*srchWin*cbAnnote*name: Annote:
- BibView*srchWin*cbJournal*name: Journal:
- BibView*srchWin*cbEditor*name: Editor:
- BibView*srchWin*cbOrganization*name: Organization:
- BibView*srchWin*cbInstitution*name: Institution:
- BibView*srchWin*cbPublisher*name: Publisher:
- BibView*srchWin*cbSchool*name: School:
- BibView*srchWin*cbAddress*name: Address:
- BibView*srchWin*cbEdition*name: Edition:
- BibView*srchWin*cbChapter*name: Chapter:
- BibView*srchWin*cbSeries*name: Series:
- BibView*srchWin*cbPages*name: Pages:
- BibView*srchWin*cbVolume*name: Volume:
- BibView*srchWin*cbNumber*name: Number:
- BibView*srchWin*cbBooktitle*name: Booktitle:
- BibView*srchWin*cbHowpublished*name: Howpublished:
- BibView*srchWin*cbType*name: Type:
- BibView*srchWin*cbKey*name: Key:
- BibView*srchWin*cbMainkey*name: bibTeX Key:
- BibView*srchWin*cbCrossref*name: Crossref:
- X
- X
- ! resources for card windows
- ! --------------------------
- BibView*cardShell.allowShellResize: true
- BibView*cardWin*Text*scrollHorizontal: whenNeeded
- BibView*cardWin*Text*scrollVertical: whenNeeded
- BibView*cardWin*Text*thickness: 8
- BibView*cardWin*Text.height: 28
- BibView*cardWin*Text*textSource.editType: edit
- BibView*cardWin*Text*input: true
- BibView*cardWin*Label*justify: left
- X
- BibView*cardWin.width: 400
- BibView*cardWin.borderWidth: 2
- BibView*cardWin.commandBox.showGrip: false
- BibView*cardWin.commandBox.width: 400
- BibView*cardWin.commandBox.vSpace: 0
- BibView*cardWin.commandBox.hSpace: 0
- BibView*cardWin.commandBox.min: 21
- BibView*cardWin.commandBox.skipAdjust: true
- BibView*cardWin.commandBox*userDef.label: User Data
- BibView*cardWin.commandBox*save.label: Save
- BibView*cardWin.commandBox*annote.label: Annote
- BibView*cardWin.commandBox*change.label: Change
- BibView*cardWin.commandBox*delete.label: Delete
- BibView*cardWin.commandBox*copy.label: Copy
- BibView*cardWin.commandBox*quit.label: Close
- X
- BibView*cardWin.userFldVport*font: *helvetica-bold-r-*-100-*
- BibView*cardWin.userFldVport.allowResize: true
- BibView*cardWin.userFldVport.min: 100
- BibView*cardWin.userFldVport.max: 150
- BibView*cardWin*userFieldL.width: 150
- BibView*cardWin*userField.width: 225
- BibView*cardWin*userFldHead.label: Userdefined Fields
- BibView*cardWin*userFldHead.width: 380
- BibView*cardWin*userFldHead.borderWidth: 2
- BibView*cardWin*userFldHead.justify: center
- X
- ! general resources for all card types
- BibView*cardWin.carddesk*font: *helvetica-bold-r-*-100-*
- BibView*cardWin.carddesk*Label*borderWidth: 0
- BibView*cardWin.carddesk.defaultDistance: 0
- X
- ! card window field resources
- BibView*cardWin.carddesk*mainkeyLabel.label: BibTeX Key:
- BibView*cardWin.carddesk*mainkey.width: 110
- BibView*cardWin.carddesk*crossrefLabel.label: Crossref:
- BibView*cardWin.carddesk*crossref.width: 148
- BibView*cardWin.carddesk*addressLabel.label: Address:
- BibView*cardWin.carddesk*address.width: 300
- BibView*cardWin.carddesk*address.height: 40
- BibView*cardWin.carddesk*annoteLabel.label: Annote:
- BibView*cardWin.carddesk*annote.width: 325
- BibView*cardWin.carddesk*annote.height: 60
- BibView*cardWin.carddesk*authorLabel.label: Author:
- BibView*cardWin.carddesk*author.width: 355
- BibView*cardWin.carddesk*author.height: 30
- BibView*cardWin.carddesk*booktitleLabel.label: Booktitle:
- BibView*cardWin.carddesk*booktitle.width: 340
- BibView*cardWin.carddesk*categoryLabel.label: Category:
- BibView*cardWin.carddesk*category.width: 133
- BibView*cardWin.carddesk*chapterLabel.label: Chapter:
- BibView*cardWin.carddesk*chapter.width: 350
- BibView*cardWin.carddesk*editionLabel.label: Edition:
- BibView*cardWin.carddesk*editorLabel.label: Editor:
- BibView*cardWin.carddesk*editor.width: 320
- BibView*cardWin.carddesk*editor.height: 30
- BibView*cardWin.carddesk*howpublishedLabel.label: Howpublished:
- BibView*cardWin.carddesk*howpublished.width: 275
- BibView*cardWin.carddesk*institutionLabel.label: Institution:
- BibView*cardWin.carddesk*institutionLabel.width: 60
- BibView*cardWin.carddesk*institution.width: 334
- BibView*cardWin.carddesk*journalLabel.label: Journal:
- BibView*cardWin.carddesk*journal.width: 345
- BibView*cardWin.carddesk*keyLabel.label: Key:
- BibView*cardWin.carddesk*monthLabel.label: Month:
- BibView*cardWin.carddesk*month.width: 210
- BibView*cardWin.carddesk*noteLabel.label: Note:
- BibView*cardWin.carddesk*note.width: 345
- BibView*cardWin.carddesk*note.height: 60
- BibView*cardWin.carddesk*numberLabel.label: Number.:
- BibView*cardWin.carddesk*number.width: 145
- BibView*cardWin.carddesk*organizationLabel.label: Organization:
- BibView*cardWin.carddesk*organization.width: 317
- BibView*cardWin.carddesk*pagesLabel.label: Pages:
- BibView*cardWin.carddesk*pages.width: 80
- BibView*cardWin.carddesk*publisherLabel.label: Publisher:
- BibView*cardWin.carddesk*publisher.width: 350
- BibView*cardWin.carddesk*publisher.height: 30
- BibView*cardWin.carddesk*schoolLabel.label: School:
- BibView*cardWin.carddesk*school.width: 315
- BibView*cardWin.carddesk*seriesLabel.label: Series:
- BibView*cardWin.carddesk*series.width: 335
- BibView*cardWin.carddesk*titleLabel.label: Title:
- BibView*cardWin.carddesk*title.width: 360
- BibView*cardWin.carddesk*title.height: 40
- BibView*cardWin.carddesk*typeLabel.label: Type:
- BibView*cardWin.carddesk*type.width: 365
- BibView*cardWin.carddesk*volumeLabel.label: Volume:
- BibView*cardWin.carddesk*volume.width: 115
- BibView*cardWin.carddesk*yearLabel.label: Year:
- X
- ! resources for individual card types
- BibView*cardWin*article.borderWidth: 0
- BibView*cardWin*book.borderWidth: 0
- BibView*cardWin*booklet.borderWidth: 0
- BibView*cardWin*conference.borderWidth: 0
- BibView*cardWin*inbook.borderWidth: 0
- BibView*cardWin*incollection.borderWidth: 0
- BibView*cardWin*inproceedings.borderWidth: 0
- BibView*cardWin*manual.borderWidth: 0
- BibView*cardWin*masterthesis.borderWidth: 0
- BibView*cardWin*misc.borderWidth: 0
- BibView*cardWin*phdthesis.borderWidth: 0
- BibView*cardWin*proceedings.borderWidth: 0
- BibView*cardWin*techreport.borderWidth: 0
- BibView*cardWin*unpublished.borderWidth: 0
- X
- X
- ! confirm load box resources
- ! --------------------------
- BibView*confirmLoadShell.title: Load?
- BibView*confirmLoadBox.label: File is loaded.\nTake saved version?
- BibView*confirmLoadBox*ok.label: OK
- BibView*confirmLoadBox*cancel.label: Cancel
- X
- X
- ! confirm close bib box resources
- ! -------------------------------
- BibView*confirmBibQuitShell.title: Close Bibliography?
- BibView*confirmBibQuitBox.label: There are unsaved changes!\nDo you really want to quit?",
- BibView*confirmBibQuitBox*ok.label: Quit
- BibView*confirmBibQuitBox*cancel.label: First Save
- X
- X
- ! confirm close card box resources
- ! --------------------------------
- BibView*confirmQuitCardShell.title: Close Card?
- BibView*confirmQuitCardBox.label: REALLY close without saving?
- BibView*confirmQuitCardBox*ok.label: Close
- BibView*confirmQuitCardBox*cancel.label: First Save
- X
- X
- ! confirm close macros box resources
- ! ----------------------------------
- BibView*confirmMacQuitShell.title: Close Macros?
- BibView*confirmMacQuitBox.label: Macros were changed!\nSave or quit?
- BibView*confirmMacQuitBox*save.label: Save
- BibView*confirmMacQuitBox*quit.label: Quit
- X
- X
- ! file select box resources
- ! -------------------------
- BibView*fileSelectBoxShell.title: BibView file manager
- BibView*fileSelectBoxShell.iconName: BibView file manager
- BibView*fileLoadHead.label: Choose bibTeX file:
- BibView*fileRenameHead.label: rename bibTeX file:
- BibView*filePrintHead.label: LaTeX file:
- BibView*configLoadHead.label: configuration file:
- BibView*fileListSaveHead.label: save list as bibTeX file:
- X
- X
- ! bibtex file select box resources
- ! --------------------------------
- BibView*bibselShell.title: BibView file selection
- BibView*bibselWin*closeHead.label: Close
- BibView*bibselWin*saveHead.label: Save
- BibView*bibselWin*saveAsHead.label: Save as
- BibView*bibselWin*copyHead.label: Copy to
- BibView*bibselWin*collSrcHead.label: Take entries from
- BibView*bibselWin*collDestHead.label: Insert into
- BibView*bibselWin*checkHead.label: Check
- BibView*bibselWin*printHead.label: Print
- BibView*bibselWin*macroHead.label: Edit Macros
- BibView*bibselWin*cancel.label: Cancel
- X
- X
- X
- ! notice, warning, error resources
- ! --------------------------------
- BibView*errorShell.title: BibView Message
- BibView*errorWin*type.label: ERROR:
- BibView*errorWin*type.foreground: red
- BibView*errorWin*ok.label: OK
- BibView*errorIcon*foreground: red
- X
- BibView*warnShell.title: BibView Message
- BibView*warnWin*type.label: WARNING:
- BibView*warnWin*type.foreground: red
- BibView*warnWin*ok.label: OK
- BibView*warnIcon*foreground: red
- X
- BibView*noticeShell.title: BibView Message
- BibView*noticeWin*type.label: HINT:
- BibView*noticeWin*type.foreground: blue
- BibView*noticeWin*ok.label: OK
- BibView*noticeIcon*foreground: blue
- X
- BibView*msgText10.label: Not yet implemented.
- BibView*msgText11.label: No storage!
- BibView*msgText12.label: No BibTeX file!
- BibView*msgText14.label: No BibTeX file open.
- BibView*msgText15.label: File cannot be unified.
- BibView*msgText16.label: Card cannot be copied.
- BibView*msgText30.label: Windows can't be cascaded!
- BibView*msgText50.label: File can't be opened!
- BibView*msgText51.label: No configuration file.
- BibView*msgText52.label: Tempory file can't be opened!
- BibView*msgText53.label: Macros can't be saved!
- BibView*msgText54.label: Please close Error Window!
- BibView*msgText60.label: There are inconsistencies.\nThe cards are shown in List.
- BibView*msgText61.label: No inconsistencies.
- BibView*msgText62.label: There are syntactic problems.\n Please correct error and load again.
- BibView*msgText63.label: Some required fields are not entered.\nThe entry was saved.",
- BibView*msgText100.label: Double Keys are not allowed.\nCard in Tree.
- BibView*msgText101.label: No regular expression.
- BibView*msgText102.label: No entries found in file.
- BibView*msgText104.label: Card incomplete: no Author.
- BibView*msgText105.label: Card incomplete: no Title.
- BibView*msgText106.label: Card incomplete: no Journal.
- BibView*msgText107.label: Card incomplete: no Year.
- BibView*msgText108.label: Card incomplete: no Publisher.
- BibView*msgText109.label: Card incomplete: no Booktitle.
- BibView*msgText110.label: Card incomplete: no Chapter.
- BibView*msgText111.label: Card incomplete: no School.
- BibView*msgText112.label: Card incomplete: no Institution.
- BibView*msgText113.label: Card incomplete: no Note.
- BibView*msgText114.label: Card incomplete: no Author or Editor.
- BibView*msgText115.label: Card incomplete: kein Kapitel und/oder Seitenzahl angegeben.
- BibView*msgText120.label: No further files loadable.\nFirst close.
- BibView*msgText121.label: Internal Error: Nr. 121
- X
- X
- SHAR_EOF
- chmod 0640 BibView ||
- echo 'restore of BibView failed'
- Wc_c="`wc -c < 'BibView'`"
- test 19072 -eq "$Wc_c" ||
- echo 'BibView: original size 19072, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= ComboBo.c ==============
- if test -f 'ComboBo.c' -a X"$1" != X"-c"; then
- echo 'x - skipping ComboBo.c (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting ComboBo.c (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'ComboBo.c' &&
- /*********************************************************************/
- /* bibView: Administration of bibTex-Databases */
- /* (Verwaltung von bibTeX-Literaturdatenbanken) */
- /* */
- /* Module: ComboBo.c */
- /* */
- /* - Combo Box Widget */
- /* Text widget with selection list */
- /* */
- /* Author: Holger Martin, martinh@informatik.tu-muenchen.de */
- /* Peter M. Urban, urban@informatik.tu-muenchen.de */
- /* */
- /* History: */
- /* 11.22.91 HM created */
- /* 05.26.92 Version 1.0 released */
- /* */
- /* Copyright 1992 TU MUENCHEN */
- /* See ./Copyright for complete rights and liability information. */
- /* */
- /*********************************************************************/
- X
- #define debprintf(x)
- X
- #include <X11/IntrinsicP.h>
- #include <X11/StringDefs.h>
- #include <X11/Xaw/MenuButton.h>
- #include <X11/Xaw/SimpleMenu.h>
- #include <X11/Xaw/SmeBSB.h>
- #include <X11/Xaw/Viewport.h>
- #include <X11/Xaw/Label.h>
- #include <X11/Xaw/List.h>
- #include <X11/Xaw/Scrollbar.h>
- #include <X11/ShellP.h>
- #include <X11/Xaw/Toggle.h>
- #include <X11/Xaw/AsciiText.h>
- #include <X11/Xaw/Command.h>
- #include <X11/Xos.h>
- #include <sys/stat.h>
- #include <sys/param.h>
- #include <errno.h>
- X
- #ifndef HAVE_DIR
- #include <dirent.h>
- #else
- #include <sys/dir.h>
- #define dirent direct
- #endif
- X
- #include <stdio.h>
- X
- extern char *getenv();
- X
- #include "ComboBoP.h"
- X
- #define Offset(field) XtOffsetOf(ComboBoxRec, comboBox.field)
- X
- static XtResource resources[] = {
- X {XtNselectCallback, XtCCallback, XtRCallback, sizeof(XtCallbackList),
- X Offset(select_callback), XtRCallback, (XtPointer) NULL},
- X {XtNselectMenu, XtCSelectMenu, XtRString, sizeof(String),
- X Offset(select_menu), XtRString, (XtPointer) NULL},
- X {XtNcancelCallback, XtCCallback, XtRCallback, sizeof(XtCallbackList),
- X Offset(cancel_callback), XtRCallback, (XtPointer) NULL},
- X {XtNmargin, XtCMargin, XtRDimension, sizeof(Dimension),
- X Offset(margin), XtRImmediate, (XtPointer) 10},
- X {XtNnumberRows, XtCNumberStrings, XtRInt, sizeof(int),
- X Offset(number_rows), XtRImmediate, (XtPointer) 3},
- X {XtNshowDotFiles, XtCShowDotFiles, XtRBoolean, sizeof(Boolean),
- X Offset(show_dot_files), XtRImmediate, (XtPointer) True},
- X {XtNbellLevel, XtCBellLevel, XtRInt, sizeof(int),
- X Offset(bell_level), XtRImmediate, (XtPointer) 100},
- X {XtNname, XtCName, XtRString, sizeof(String), /* NEU */
- X Offset(name), XtRString, NULL},
- X {XtNrcList, XtCRcList, XtRString, sizeof(String), /* NEU */
- X Offset(rclist), XtRString, NULL},
- };
- X
- X
- X
- #undef Offset
- X
- #define Child(w,child) (((ComboBoxWidget) w)->comboBox.child)
- #define List(w) (((ComboBoxWidget) w)->comboBox.listList)
- #define Rows(w) (((ComboBoxWidget) w)->comboBox.number_rows)
- #define CurrentDir(w) (((ComboBoxWidget) w)->comboBox.currentDir)
- #define WatchingChanges(w) (((ComboBoxWidget) w)->comboBox.watchingChanges)
- #define Nomination(w) (((ComboBoxWidget) w)->comboBox.nomination)
- #define ShowDotFiles(w) (((ComboBoxWidget) w)->comboBox.show_dot_files)
- #define BellLevel(w) (((ComboBoxWidget) w)->comboBox.bell_level)
- #define Name(w) (((ComboBoxWidget) w)->comboBox.name)
- #define RcList(w) (((ComboBoxWidget) w)->comboBox.rclist)
- X
- X
- static char listTranslations[] =
- X "<Btn1Up>(2): Set() Nominate() Unset()\n\
- X <Btn1Down>,<Btn1Up>: Set() Notify() \n\
- X <Btn2Up>: Set() Notify() Nominate() Unset()";
- X
- static char filenameTranslations[] =
- X "<Key>Return: ";
- X
- static void Nominate();
- X
- static XtActionsRec pathActions[] = {
- X "Nominate", Nominate,
- };
- X
- static void CancelCallback();
- static void ChangeDir();
- static void FillWindow();
- static void ReplaceFilename();
- static void AsciiSourceChanged();
- static void WatchForChanges();
- static void DontWatchForChanges();
- static void CollapsePath();
- X
- static void Initialize(), PositionChildren(), Realize(), Destroy();
- static void ToggleAction(); /* NEU */
- static void DestroyShell();
- X
- ComboBoxClassRec comboBoxClassRec = {
- X /* Core class part */
- X {
- X /* superclass */ (WidgetClass) &widgetClassRec,
- X /* class_name */ "ComboBox",
- X /* widget_size */ sizeof(ComboBoxRec),
- X /* class_initialize */ NULL,
- X /* class_part_initialize */ NULL,
- X /* class_inited */ FALSE,
- X /* initialize */ Initialize,
- X /* initialize_hook */ NULL,
- X /* realize */ Realize,
- X /* actions */ NULL,
- X /* num_actions */ 0,
- X /* resources */ resources,
- X /* num_resources */ XtNumber(resources),
- X /* xrm_class */ NULLQUARK,
- X /* compress_motion */ TRUE,
- X /* compress_exposure */ XtExposeCompressMultiple,
- X /* compress_enterleave */ TRUE,
- X /* visible_interest */ FALSE,
- X /* destroy */ Destroy,
- X /* resize */ PositionChildren,
- X /* expose */ NULL,
- X /* set_values */ NULL,
- X /* set_values_hook */ NULL,
- X /* set_values_almost */ XtInheritSetValuesAlmost,
- X /* get_values_hook */ NULL,
- X /* accept_focus */ NULL,
- X /* version */ XtVersion,
- X /* callback offsets */ NULL,
- X /* tm_table */ NULL,
- X /* query_geometry */ XtInheritQueryGeometry,
- X /* display_accelerator */ NULL,
- X /* extension */ NULL,
- X },
- X /* ComboBox class part */
- X {
- X /* extension */ NULL,
- X }
- };
- X
- WidgetClass comboBoxWidgetClass = (WidgetClass) &comboBoxClassRec;
- X
- X
- #define MAX_AUSGABE 1000
- static char *ausgabe; /* fuer ComboBoGetString */
- X
- X
- static void
- CalculateSize(fnw, width, height)
- X ComboBoxWidget fnw;
- X Dimension *width, *height;
- {
- X int file_width = Child(fnw,filename_widget)->core.width +
- X 2 * Child(fnw,filename_widget)->core.border_width +
- X fnw->comboBox.margin + /* NEU */
- X Child(fnw,name_widget)->core.width +
- X 2 * Child(fnw,name_widget)->core.border_width;
- X
- X
- X int max;
- X
- X if (fnw->comboBox.margin == 0)
- X {
- X max = file_width - 2 * Child(fnw,filename_widget)->core.border_width;
- X }
- X else
- X {
- X max = file_width;
- X }
- X
- X *width = max + 2 * fnw->comboBox.margin;
- /*
- X *height = Child(fnw,viewport_widget)->core.height +
- X Child(fnw,filename_widget)->core.height +
- X 3 * fnw->comboBox.margin;
- */
- X *height = Child(fnw,filename_widget)->core.height +
- X 2 * fnw->comboBox.margin +
- X 2 * Child(fnw,filename_widget)->core.border_width;
- /*
- X if (fnw->comboBox.margin == 0)
- X {
- X *height += 2 * (Child(fnw,filename_widget)->core.border_width);
- X }
- X else
- X {
- X *height += 2 * Child(fnw,filename_widget)->core.border_width +
- X 2 * Child(fnw,viewport_widget)->core.border_width;
- X }
- */
- }
- X
- static void
- PositionChildren(fnw)
- X ComboBoxWidget fnw;
- {
- X Position x,y,root_x,root_y;
- X
- X if (fnw->comboBox.margin == 0)
- X {
- X XtConfigureWidget(Child(fnw,name_widget), /* NEU */
- X 0, 0,
- X fnw->core.width,
- X fnw->core.height,
- X 0);
- X }
- X else /* NEU */
- X {
- X XtConfigureWidget(Child(fnw,name_widget),
- X fnw->comboBox.margin,
- X fnw->comboBox.margin,
- X fnw->core.width -
- X 3 * fnw->comboBox.margin -
- X 2 * Child(fnw,name_widget)->core.border_width -
- X Child(fnw,filename_widget)->core.width -
- X 2 * Child(fnw,filename_widget)->core.border_width,
- X fnw->core.height -
- X 2 * Child(fnw,name_widget)->core.border_width -
- X 2 * fnw->comboBox.margin,
- X Child(fnw,name_widget)->core.border_width);
- X }
- X
- X if (fnw->comboBox.margin == 0)
- X {
- X XtConfigureWidget(Child(fnw,filename_widget),
- X -(Child(fnw,filename_widget)->core.border_width),
- X fnw->core.height,
- X fnw->core.width,
- X Child(fnw,filename_widget)->core.height,
- X Child(fnw,filename_widget)->core.border_width);
- X }
- X else
- X {
- X XtConfigureWidget(Child(fnw,filename_widget),
- X Child(fnw,name_widget)->core.width +
- X Child(fnw,name_widget)->core.border_width +
- X 2 * fnw->comboBox.margin,
- X fnw->comboBox.margin,
- X fnw->core.width -
- X 3 * fnw->comboBox.margin -
- X Child(fnw,name_widget)->core.width -
- X 2 * Child(fnw,name_widget)->core.border_width -
- X 2 * Child(fnw,filename_widget)->core.border_width,
- X fnw->core.height -
- X 2 * Child(fnw,filename_widget)->core.border_width -
- X 2 * fnw->comboBox.margin,
- X Child(fnw,filename_widget)->core.border_width);
- X }
- /*
- X if (fnw->comboBox.margin == 0)
- X {
- X XtConfigureWidget(Child(fnw,viewport_widget),
- X -(Child(fnw,viewport_widget)->core.border_width),
- X Child(fnw,filename_widget)->core.height,
- X fnw->core.width,
- X Child(fnw,viewport_widget)->core.height,
- X Child(fnw,viewport_widget)->core.border_width);
- X }
- X else
- X {
- X XtConfigureWidget(Child(fnw,viewport_widget),
- X fnw->comboBox.margin,
- X fnw->core.height -
- X Child(fnw,viewport_widget)->core.height -
- X 2 * Child(fnw,viewport_widget)->core.border_width -
- X 1 * fnw->comboBox.margin,
- X fnw->core.width -
- X 2 * fnw->comboBox.margin -
- X 2 * Child(fnw,viewport_widget)->core.border_width,
- X Child(fnw,viewport_widget)->core.height,
- X Child(fnw,viewport_widget)->core.border_width);
- X }
- X XtVaGetValues(Child(fnw,name_widget), XtNx, &x, NULL);
- X XtVaGetValues(Child(fnw,name_widget), XtNy, &y, NULL);
- X y += fnw->comboBox.margin;
- X debprintf("X: %d\n",(int)x);
- X debprintf("Y: %d\n",(int)y);
- X XtTranslateCoords(Child(fnw,name_widget), x, y, &root_x, &root_y);
- X debprintf("ROOTX: %d\n",(int)root_x);
- X debprintf("ROOTY: %d\n",(int)root_y);
- X XtMoveWidget(Child(fnw,shell_widget), root_x, root_y);
- */
- }
- X
- /****************/
- /* ToggleAction */
- /****************/
- static void ToggleAction(widget, clientData, callData)
- Widget widget;
- XXtPointer clientData, callData;
- {
- X ComboBoxWidget hw;
- X Position x,y,root_x,root_y;
- X Boolean status;
- X String str1, str2;
- X
- X
- X x = 0;
- X y = 0;
- X hw = (ComboBoxWidget)XtParent(widget);
- X if (hw->comboBox.rclist == NULL) {
- X XawToggleUnsetCurrent(Child(hw,name_widget));
- X return;
- X }
- X
- X XtVaGetValues(Child(hw,name_widget), XtNstate, &status, NULL);
- X if (status == TRUE)
- X debprintf("Toggle: XtNstate: TRUE\n");
- X else
- X debprintf("Toggle: XtNstate: FALSE\n");
- X if (status == TRUE) {
- X debprintf("GetToggle: TRUE !!!\n");
- X XtVaGetValues(widget, XtNx, &x, NULL);
- X XtVaGetValues(widget, XtNy, &y, NULL);
- X y += (((ComboBoxWidget) hw)->comboBox.margin);
- X XtTranslateCoords(widget, x, y, &root_x, &root_y);
- X XtMoveWidget(Child(hw,shell_widget), root_x+40, root_y+10);
- /*
- X XtConfigureWidget(Child(hw,shell_widget),
- X root_x, root_y,
- X hw->core.width,
- X hw->core.height,
- X 0);
- */
- X XtPopup(Child(hw,shell_widget), XtGrabNone);
- X }
- X else {
- X debprintf("GetToggle: FALSE !!!\n");
- X XtPopdown(Child(hw,shell_widget));
- X }
- }
- X
- X
- X
- /* ARGSUSED */
- static void
- Initialize(req, new, args, num_args)
- X Widget req, new;
- X ArgList args;
- X Cardinal *num_args;
- {
- X ComboBoxWidget fnw = (ComboBoxWidget) new;
- X Widget sMenu, menuEntry;
- X String menuList, p, q;
- X RcListNode *testlist;
- X int anzahl;
- X
- X
- X List(new) = NULL;
- X Nomination(new).directoryPart = NULL;
- X Nomination(new).filenamePart = NULL;
- X ausgabe = XtCalloc(1, MAX_AUSGABE);
- /*
- #ifdef SYSV
- X (void) getcwd(CurrentDir(new), MAXPATHLEN);
- #else
- X (void) getwd(CurrentDir(new));
- #endif
- X if (CurrentDir(new)[strlen(CurrentDir(new)) - 1] != '/')
- X {
- X strcat(CurrentDir(new), "/");
- X }
- */
- X WatchingChanges(new) = False;
- X
- X if (fnw->comboBox.name == NULL)
- X fnw->comboBox.name = XtNewString(fnw->core.name);
- X else {
- X fnw->comboBox.name = XtNewString(fnw->comboBox.name);
- X }
- X
- X Child(fnw,name_widget) /* NEU */
- X = XtVaCreateWidget("name", toggleWidgetClass, new,
- X XtNlabel, fnw->comboBox.name,
- X XtNstate, FALSE,
- X NULL);
- X
- X XtAddCallback(Child(fnw,name_widget), XtNcallback, ToggleAction, NULL);
- X XawToggleChangeRadioGroup(Child(fnw,name_widget),NULL);
- X
- X Child(fnw,shell_widget)
- X = XtVaCreatePopupShell("shell", overrideShellWidgetClass,
- X new,
- X XtNsaveUnder, TRUE,
- X NULL);
- X
- X Child(fnw,viewport_widget)
- X = XtVaCreateManagedWidget("viewport", viewportWidgetClass,
- X Child(fnw,shell_widget),
- X XtNallowVert, True,
- X XtNforceBars, True,
- X NULL);
- X
- X Child(fnw,list_widget) =
- X XtVaCreateManagedWidget("list", listWidgetClass, Child(fnw,viewport_widget),
- X XtNdefaultColumns, 1,
- X XtNforceColumns, True,
- X NULL);
- X
- X XtOverrideTranslations(Child(fnw,list_widget),
- X XtParseTranslationTable(listTranslations));
- X
- X XtAddCallback(Child(fnw,list_widget), XtNcallback, ReplaceFilename, NULL);
- X
- X anzahl = 0;
- X if (fnw->comboBox.rclist != NULL) {
- X testlist = fnw->comboBox.rclist;
- X while (testlist != NULL) {
- X testlist = testlist->next;
- X anzahl++;
- X }
- X }
- X FillWindow(fnw,anzahl);
- X
- X
- X Child(fnw,filename_widget)
- X = XtVaCreateWidget("filename", asciiTextWidgetClass, new,
- X XtNeditType, XawtextEdit,
- X NULL);
- X XtOverrideTranslations(Child(fnw,filename_widget),
- X XtParseTranslationTable(filenameTranslations));
- X
- X XtSetKeyboardFocus(new, Child(fnw,filename_widget));
- X WatchForChanges(fnw);
- X
- X XtAppAddActions(XtWidgetToApplicationContext(new),
- X pathActions, XtNumber(pathActions));
- X
- /*
- X Child(fnw,cancel_widget)
- X = XtVaCreateWidget("cancel", commandWidgetClass, new, NULL);
- X XtAddCallback(Child(fnw,cancel_widget), XtNcallback, CancelCallback, NULL);
- */
- X
- X CalculateSize(fnw, &fnw->core.width, &fnw->core.height);
- X PositionChildren(fnw);
- }
- X
- X
- X
- X
- static void
- Realize(w, valueMask, attributes)
- X Widget w;
- X XtValueMask *valueMask;
- X XSetWindowAttributes *attributes;
- {
- X (*comboBoxWidgetClass->core_class.superclass->core_class.realize)
- X (w, valueMask, attributes);
- X
- X XtRealizeWidget(Child(w,name_widget)); /* NEU */
- X XtRealizeWidget(Child(w,shell_widget));
- X XtRealizeWidget(Child(w,viewport_widget));
- X XtRealizeWidget(Child(w,list_widget));
- X XtRealizeWidget(Child(w,filename_widget));
- /*
- X XtRealizeWidget(Child(w,cancel_widget));
- */
- X XMapSubwindows(XtDisplay(w), XtWindow(w));
- }
- X
- static void Destroy(w)
- X Widget w;
- {
- X int idx;
- X ComboBoxWidget fnw = (ComboBoxWidget) w;
- X
- debprintf("in destroy\n");
- X XtDestroyWidget(Child(fnw,name_widget)); /* NEU */
- X XtDestroyWidget(Child(fnw,list_widget));
- X XtDestroyWidget(Child(fnw,viewport_widget));
- X XtDestroyWidget(Child(fnw,shell_widget));
- /*
- X XtDestroyWidget(Child(fnw,list_widget));
- X XtDestroyWidget(Child(fnw,viewport_widget));
- X XtDestroyWidget(Child(fnw,shell_widget));
- X XtPopdown(Child(fnw,shell_widget));
- X XtDestroyWidget(Child(fnw,filename_widget));
- X XtDestroyWidget(Child(fnw,cancel_widget));
- */
- X idx = 0;
- X while (List(fnw)[idx])
- X {
- X XtFree(List(fnw)[idx++]);
- X }
- X XtFree(List(fnw)[idx]);
- X XtFree((char *)List(fnw));
- X
- X XtFree(Nomination(fnw).directoryPart);
- X XtFree(Nomination(fnw).filenamePart);
- X XtFree(ausgabe);
- debprintf("in destroy ende\n");
- }
- X
- /* ARGSUSED */
- static void
- CancelCallback(w, client_data, call_data)
- X Widget w;
- X XtPointer client_data, call_data;
- {
- X XtCallCallbacks(XtParent(w), XtNcancelCallback, NULL);
- }
- X
- /* ARGSUSED */
- static void
- DestroyMenu(w, client_data, call_data)
- X Widget w;
- X XtPointer client_data, call_data;
- {
- debprintf("in destroyMenu\n");
- X XtDestroyWidget(w);
- }
- X
- X
- /* ARGSUSED HOLGER */
- static void
- DestroyShell(w, client_data, call_data)
- X Widget w;
- X XtPointer client_data, call_data;
- {
- X ComboBoxWidget fnw
- X = (ComboBoxWidget) XtParent(w);
- debprintf("in destroyShell\n");
- X XtPopdown(w);
- X XtVaSetValues(Child(fnw,name_widget), XtNstate, FALSE, NULL);
- }
- X
- X
- static void
- ChangeDirectory(fnw, position)
- ComboBoxWidget fnw;
- int position;
- {
- X String p;
- X int m;
- X
- X if (position > 0)
- X {
- X p = CurrentDir(fnw);
- X for (m = 0; m < position; ++m)
- X {
- X while(*p++ != '/')
- X ;
- X }
- X *p = '\0';
- X }
- X
- X XtVaSetValues(Child(fnw, filename_widget),
- X XtNstring, "",
- X NULL);
- X
- X FillWindow(fnw);
- X
- X PositionChildren(fnw);
- }
- X
- /* ARGSUSED */
- static void
- ChangeDir(w, client_data, call_data)
- X Widget w;
- X XtPointer client_data, call_data;
- {
- X ComboBoxWidget fnw
- X = (ComboBoxWidget) XtParent(XtParent(XtParent(w)));
- X
- X ChangeDirectory(fnw, (int) client_data);
- }
- X
- /* ARGSUSED */
- X
- /* ARGSUSED */
- static void
- Nominate(w, event, params, num_params)
- X Widget w;
- X XEvent *event;
- X String *params;
- X Cardinal *num_params;
- {
- X ComboBoxWidget fnw;
- X char *nomination, *home, selection[MAXPATHLEN], *newPath, *r;
- X struct stat fstats;
- X int status, len;
- X if (XtIsSubclass(w, listWidgetClass))
- X {
- X fnw = (ComboBoxWidget) XtParent(XtParent(XtParent(w)));
- X }
- X else
- X {
- X fnw = (ComboBoxWidget) XtParent(w);
- X }
- X
- X XtVaGetValues(Child(fnw,filename_widget),
- X XtNstring, &nomination,
- X NULL);
- X
- X
- X selection[0] = '\0';
- X if (*nomination == '/')
- X {
- X strcpy(selection, nomination);
- X }
- X else if (*nomination == '~' && (home = getenv("HOME")))
- X {
- X strcpy(selection, home);
- X strcat(selection, &nomination[1]);
- X }
- X else
- X {
- X if (strlen(CurrentDir(fnw)) > 1)
- X {
- X strcpy(selection, CurrentDir(fnw));
- X }
- X strcat(selection, "/");
- X strcat(selection, nomination);
- X }
- X
- X len = strlen(selection);
- X if (len != 0)
- X {
- X newPath = (char *) XtMalloc(len + 2);
- X CollapsePath(selection, newPath);
- X status = stat(newPath, &fstats);
- X if (status != -1 && fstats.st_mode & S_IFDIR)
- X {
- X if (access(newPath, R_OK) == 0)
- X {
- X if (newPath[strlen(newPath) - 1] != '/')
- X {
- X strcat(newPath, "/");
- X }
- X strcpy(CurrentDir(fnw), newPath);
- X ChangeDirectory(fnw, 0);
- X }
- X else
- X {
- X XBell(XtDisplay(fnw), BellLevel(fnw));
- X }
- X }
- X else if (status == 0 || (status == -1 && errno == ENOENT))
- X {
- X status = access(newPath, R_OK | W_OK);
- X r = (char *)rindex(newPath, '/');
- X XtFree(Nomination(fnw).filenamePart);
- X Nomination(fnw).filenamePart = XtNewString(r + 1);
- X Nomination(fnw).filenameStatus = (status == 0) ? status : errno;
- X *(r + 1) = '\0';
- X XtFree(Nomination(fnw).directoryPart);
- X status = access(newPath, R_OK);
- X if (strcmp(newPath, CurrentDir(fnw)) != 0 && status == 0)
- X {
- X strcpy(CurrentDir(fnw), newPath);
- X ChangeDirectory(fnw, 0);
- X Nomination(fnw).directoryPart = XtNewString(CurrentDir(fnw));
- X }
- X else
- X {
- X Nomination(fnw).directoryPart = XtNewString(newPath);
- X }
- X Nomination(fnw).directoryStatus = (status == 0) ? status : errno;
- X XtCallCallbacks((Widget) fnw, XtNselectCallback,
- X (XtPointer) &Nomination(fnw));
- X }
- X else
- X {
- X XBell(XtDisplay(fnw), BellLevel(fnw));
- X }
- X XtFree(newPath);
- X }
- }
- X
- static void
- FillWindow(fnw,num)
- Widget fnw;
- int num;
- {
- X XFontStruct *font;
- X Dimension height, internalHeight, rowSpacing;
- X int newNum, idx;
- X char buf[MAXPATHLEN], *bp;
- X String name;
- X RcListNode *listnode;
- X
- X
- X if (num <= 0)
- X {
- X return;
- X }
- X
- X if (List(fnw))
- X {
- X idx = 0;
- X while (List(fnw)[idx])
- X {
- X XtFree(List(fnw)[idx++]);
- X }
- X XtFree(List(fnw)[idx]);
- X XtFree((char*)List(fnw));
- X }
- X List(fnw) = (String *) XtMalloc((num + 1) * sizeof(String));
- /*
- X strcpy(buf, CurrentDir(fnw));
- X strcat(buf, "/");
- */
- X bp = buf + strlen(buf);
- X listnode = RcList(fnw);
- X for(idx = 0, newNum = 0; idx < num; idx++)
- X {
- X name = listnode->data;
- X List(fnw)[newNum] = XtMalloc(strlen(name) + 2);
- X strcpy(List(fnw)[newNum], name);
- X strcpy(bp, name);
- X ++newNum;
- X listnode = listnode->next;
- X }
- X
- X
- X List(fnw)[newNum] = NULL;
- X
- X XtVaGetValues(Child(fnw,list_widget),
- X XtNfont, &font,
- X XtNinternalHeight, &internalHeight,
- X XtNrowSpacing, &rowSpacing,
- X NULL);
- X
- X height = Rows(fnw) * (font->max_bounds.ascent +
- X font->max_bounds.descent + rowSpacing) -
- X rowSpacing + 2 * internalHeight;
- X
- X XtVaSetValues(Child(fnw,viewport_widget),
- X XtNheight, height,
- X NULL);
- X
- X XawListChange(Child(fnw,list_widget), List(fnw), newNum, -1, True);
- }
- X
- X
- X
- X
- /* ARGSUSED */
- static void
- ReplaceFilename(w, client_data, call_data)
- X Widget w;
- X XtPointer client_data, call_data;
- {
- /*
- X ComboBoxWidget fnw
- X = (ComboBoxWidget) XtParent(XtParent(w));
- */
- X
- X ComboBoxWidget fnw
- X = (ComboBoxWidget) XtParent(XtParent(XtParent(w)));
- X
- X XawListReturnStruct *list = XawListShowCurrent(Child(fnw,list_widget));
- X
- X XtVaSetValues(Child(fnw,filename_widget),
- X XtNstring, list->string,
- X NULL);
- X
- X XawTextSetInsertionPoint(Child(fnw,filename_widget),
- X
- X (XawTextPosition) strlen(list->string));
- X
- X WatchForChanges(fnw);
- X debprintf("ReplaceFileName...\n");
- X DestroyShell(Child(fnw,shell_widget));
- }
- X
- /* ARGSUSED */
- static void
- AsciiSourceChanged(w, client_data, call_data)
- Widget w;
- XXtPointer client_data, call_data;
- {
- X ComboBoxWidget fnw = (ComboBoxWidget) client_data;
- X
- X DontWatchForChanges(fnw);
- X
- X XawListUnhighlight(Child(fnw,list_widget));
- }
- X
- static void
- WatchForChanges(fnw)
- X Widget fnw;
- {
- X if (!WatchingChanges(fnw))
- X {
- X XtAddCallback(XawTextGetSource(Child(fnw,filename_widget)), XtNcallback,
- X AsciiSourceChanged, (XtPointer) fnw);
- X
- X WatchingChanges(fnw) = True;
- X }
- }
- X
- static void
- DontWatchForChanges(fnw)
- X Widget fnw;
- {
- X XtRemoveCallback(XawTextGetSource(Child(fnw,filename_widget)), XtNcallback,
- X AsciiSourceChanged, (XtPointer) fnw);
- X
- X WatchingChanges(fnw) = False;
- }
- X
- static void
- CollapsePath(in, out)
- X char *in, *out;
- {
- X char *p = in, *q = out, *pend = p + strlen(p);
- X
- X while (p < pend)
- X {
- X if (*p != '/')
- X {
- X *q++ = *p++;
- X }
- X else if (p + 1 < pend && *(p + 1) == '/')
- X {
- X ++p;
- X }
- X else if ( (p + 2 == pend && *(p + 1) == '.') ||
- X (p + 2 < pend && *(p + 1) == '.' && *(p + 2) == '/') )
- X {
- X p += 2;
- X }
- X else if ( (p + 3 == pend && *(p + 1) == '.' && *(p + 2) == '.') ||
- X (p + 3 < pend && *(p + 1) == '.'
- X && *(p + 2) == '.' && *(p + 3) == '/') )
- X {
- X while (q > out && *--q != '/')
- X ;
- X p += 3;
- X }
- X else
- X {
- X *q++ = *p++;
- X }
- X }
- X if (q == out)
- X {
- X *q++ = '/';
- X }
- X
- X while (q > out)
- X {
- X if (*--q != '/')
- X break;
- X }
- X *++q = '\0';
- }
- X
- X
- X
- String
- ComboBoxGetString(fnw)
- Widget fnw;
- {
- X String newName;
- X
- X if (XtIsSubclass(fnw, comboBoxWidgetClass))
- X {
- X
- X ComboBoxStruct data = Nomination(fnw);
- X
- X XtPopdown(Child(fnw, shell_widget));
- X XtVaGetValues(Child(fnw,filename_widget),
- X XtNstring, &ausgabe,
- X NULL);
- X if (strlen(ausgabe) == 0) return NULL;
- X return ausgabe;
- /*
- X if (data.directoryStatus == 0)
- X {
- X newName = XtMalloc(strlen(data.filenamePart) + 1);
- X strcpy(newName, data.filenamePart);
- X return newName;
- X }
- */
- X }
- X else
- X {
- X return NULL;
- X }
- }
- X
- X
- X
- void
- ComboBoxSetString(fnw, dir)
- X Widget fnw;
- X String dir;
- {
- X if (!XtIsSubclass(fnw, comboBoxWidgetClass))
- X {
- X return;
- X }
- X
- X strcpy(CurrentDir(fnw), dir);
- /*
- X if (dir[strlen(dir) - 1] != '/')
- X {
- X strcat(CurrentDir(fnw), "/");
- X }
- */
- X ChangeDirectory(fnw, 0);
- }
- SHAR_EOF
- chmod 0644 ComboBo.c ||
- echo 'restore of ComboBo.c failed'
- Wc_c="`wc -c < 'ComboBo.c'`"
- test 24346 -eq "$Wc_c" ||
- echo 'ComboBo.c: original size 24346, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= ComboBo.h ==============
- if test -f 'ComboBo.h' -a X"$1" != X"-c"; then
- echo 'x - skipping ComboBo.h (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting ComboBo.h (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'ComboBo.h' &&
- /*********************************************************************/
- /* bibView: Administration of bibTex-Databases */
- /* (Verwaltung von bibTeX-Literaturdatenbanken) */
- /* */
- /* Module: ComboBo.h */
- /* */
- /* - Combo Box Widget */
- /* Text widget with selection list */
- /* */
- /* Author: Holger Martin, martinh@informatik.tu-muenchen.de */
- /* Peter M. Urban, urban@informatik.tu-muenchen.de */
- /* */
- /* History: */
- /* 11.22.91 HM created */
- /* */
- /* Copyright 1991 Martin, Urban */
- /* See ./Copyright for complete rights and liability information. */
- /* */
- /*********************************************************************/
- X
- #ifndef ComboBox_h
- #define ComboBox_h
- X
- #define XtNselectCallback "selectCallback"
- #define XtNselectMenu "selectMenu"
- #define XtNcancelCallback "cancelCallback"
- #define XtNmargin "margin"
- #define XtNnumberRows "numberRows"
- #define XtNshowDotFiles "showDotFiles"
- #define XtNbellLevel "bellLevel"
- #undef XtNname
- #define XtNname "name" /* NEU: Feldname */
- #define XtNrcList "rcList" /* NEU: Liste */
- X
- extern WidgetClass comboBoxWidgetClass;
- X
- typedef struct _ComboBoxRec *ComboBoxWidget;
- typedef struct {
- X String directoryPart;
- X int directoryStatus;
- X String filenamePart;
- X int filenameStatus;
- } ComboBoxStruct;
- X
- X
- typedef struct _RcListNode { /* NEU */
- X String data;
- X struct _RcListNode *next;
- } RcListNode;
- X
- X
- String ComboBoxGetString();
- void ComboBoxSetString();
- X
- #endif /* ComboBox_h */
- SHAR_EOF
- chmod 0644 ComboBo.h ||
- echo 'restore of ComboBo.h failed'
- Wc_c="`wc -c < 'ComboBo.h'`"
- test 2273 -eq "$Wc_c" ||
- echo 'ComboBo.h: original size 2273, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= ComboBoP.h ==============
- if test -f 'ComboBoP.h' -a X"$1" != X"-c"; then
- echo 'x - skipping ComboBoP.h (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting ComboBoP.h (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'ComboBoP.h' &&
- /*********************************************************************/
- SHAR_EOF
- true || echo 'restore of ComboBoP.h failed'
- fi
- echo 'End of part 1'
- echo 'File ComboBoP.h is continued in part 2'
- echo 2 > _shar_seq_.tmp
- exit 0
- --
- Senior Systems Scientist mail: dcmartin@msi.com
- Molecular Simulations, Inc. uucp: uunet!dcmartin
- 796 North Pastoria Avenue at&t: 408/522-9236
- Sunnyvale, California 94086 fax: 408/732-0831
-