From 2d178f7c0f56f27a419963ee5186e390a33260ad Mon Sep 17 00:00:00 2001 From: Benjamin Florin Date: Wed, 21 Feb 2018 10:42:20 -0500 Subject: [PATCH] Initial commit --- .gitignore | 323 ++ ApplicationEvents.vb | 0 ClassDiagram1.cd | 1 + ClassDiagram2.cd | 1 + ClassDiagram3.cd | 1 + Form1.Designer.vb | 6926 ++++++++++++++++++++++++++++ Form1.resx | 371 ++ Form1.vb | 5816 +++++++++++++++++++++++ My Project/Application.Designer.vb | 38 + My Project/Application.myapp | 11 + My Project/AssemblyInfo.vb | 35 + My Project/Resources.Designer.vb | 73 + My Project/Resources.resx | 124 + My Project/Settings.Designer.vb | 73 + My Project/Settings.settings | 7 + Resources/somBkgrnd.bmp | Bin 0 -> 494574 bytes SpineLabeler.sln | 28 + SpineLabeler.vbproj | 123 + library.ico | Bin 0 -> 69878 bytes 19 files changed, 13951 insertions(+) create mode 100644 .gitignore create mode 100644 ApplicationEvents.vb create mode 100644 ClassDiagram1.cd create mode 100644 ClassDiagram2.cd create mode 100644 ClassDiagram3.cd create mode 100644 Form1.Designer.vb create mode 100644 Form1.resx create mode 100644 Form1.vb create mode 100644 My Project/Application.Designer.vb create mode 100644 My Project/Application.myapp create mode 100644 My Project/AssemblyInfo.vb create mode 100644 My Project/Resources.Designer.vb create mode 100644 My Project/Resources.resx create mode 100644 My Project/Settings.Designer.vb create mode 100644 My Project/Settings.settings create mode 100644 Resources/somBkgrnd.bmp create mode 100644 SpineLabeler.sln create mode 100644 SpineLabeler.vbproj create mode 100644 library.ico diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bc69bc4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,323 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ +**/Properties/launchSettings.json + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# TypeScript v1 declaration files +typings/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog diff --git a/ApplicationEvents.vb b/ApplicationEvents.vb new file mode 100644 index 0000000..e69de29 diff --git a/ClassDiagram1.cd b/ClassDiagram1.cd new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/ClassDiagram1.cd @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ClassDiagram2.cd b/ClassDiagram2.cd new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/ClassDiagram2.cd @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ClassDiagram3.cd b/ClassDiagram3.cd new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/ClassDiagram3.cd @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Form1.Designer.vb b/Form1.Designer.vb new file mode 100644 index 0000000..eb38a4e --- /dev/null +++ b/Form1.Designer.vb @@ -0,0 +1,6926 @@ + _ +Partial Class Form1 + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + MyBase.Dispose(disposing) + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1)) + Me.OutputBox = New System.Windows.Forms.TextBox + Me.ManualPrint = New System.Windows.Forms.Button + Me.Panel1 = New System.Windows.Forms.Panel + Me.ReviewBox = New System.Windows.Forms.RadioButton + Me.AutoPrintBox = New System.Windows.Forms.RadioButton + Me.TabControl1 = New System.Windows.Forms.TabControl + Me.TabPage1 = New System.Windows.Forms.TabPage + Me.viaDOSPanel = New System.Windows.Forms.Panel + Me.viadosCaution = New System.Windows.Forms.Label + Me.Panel17 = New System.Windows.Forms.Panel + Me.appendAscii = New System.Windows.Forms.TextBox + Me.dosUseFF = New System.Windows.Forms.RadioButton + Me.dosAddLines = New System.Windows.Forms.RadioButton + Me.dosBlankLines = New System.Windows.Forms.TextBox + Me.Label115 = New System.Windows.Forms.Label + Me.Label120 = New System.Windows.Forms.Label + Me.Label122 = New System.Windows.Forms.Label + Me.dosParam2 = New System.Windows.Forms.TextBox + Me.dosParam1 = New System.Windows.Forms.TextBox + Me.batsignal = New System.Windows.Forms.Label + Me.loadViados = New System.Windows.Forms.Button + Me.hideDosWindow = New System.Windows.Forms.CheckBox + Me.Label119 = New System.Windows.Forms.Label + Me.Label118 = New System.Windows.Forms.Label + Me.dosPlTabNum = New System.Windows.Forms.TextBox + Me.dosPlColNum = New System.Windows.Forms.TextBox + Me.dosPlUseTab = New System.Windows.Forms.RadioButton + Me.dosPlUseCol = New System.Windows.Forms.RadioButton + Me.Label117 = New System.Windows.Forms.Label + Me.Label114 = New System.Windows.Forms.Label + Me.batchDisplay = New System.Windows.Forms.TextBox + Me.viadosSave = New System.Windows.Forms.Button + Me.useDOSBatch = New System.Windows.Forms.CheckBox + Me.FTPwarning = New System.Windows.Forms.Label + Me.Label72 = New System.Windows.Forms.Label + Me.showLabelType = New System.Windows.Forms.Label + Me.orientationPanel = New System.Windows.Forms.Panel + Me.usePortrait = New System.Windows.Forms.RadioButton + Me.useLandscape = New System.Windows.Forms.RadioButton + Me.marginPanel = New System.Windows.Forms.Panel + Me.inUnits1 = New System.Windows.Forms.Label + Me.Label4 = New System.Windows.Forms.Label + Me.inTopMargin = New System.Windows.Forms.TextBox + Me.Label5 = New System.Windows.Forms.Label + Me.inLeftMargin = New System.Windows.Forms.TextBox + Me.Label26 = New System.Windows.Forms.Label + Me.inLineSpacing = New System.Windows.Forms.TextBox + Me.Label35 = New System.Windows.Forms.Label + Me.UseLaser = New System.Windows.Forms.RadioButton + Me.inMaxLines = New System.Windows.Forms.TextBox + Me.inMaxChars = New System.Windows.Forms.TextBox + Me.UseFTP = New System.Windows.Forms.RadioButton + Me.Label24 = New System.Windows.Forms.Label + Me.Label25 = New System.Windows.Forms.Label + Me.UseDesktop = New System.Windows.Forms.RadioButton + Me.FTPGroup = New System.Windows.Forms.GroupBox + Me.ftpRegisterMsg = New System.Windows.Forms.Label + Me.btn_ftpRegister = New System.Windows.Forms.Button + Me.ftpArrow = New System.Windows.Forms.Label + Me.FTPInfo = New System.Windows.Forms.Label + Me.Label50 = New System.Windows.Forms.Label + Me.FTPHelp = New System.Windows.Forms.Label + Me.Label49 = New System.Windows.Forms.Label + Me.FTPPassword = New System.Windows.Forms.TextBox + Me.Label48 = New System.Windows.Forms.Label + Me.FTPLogin = New System.Windows.Forms.TextBox + Me.Label46 = New System.Windows.Forms.Label + Me.FTPip = New System.Windows.Forms.TextBox + Me.Label30 = New System.Windows.Forms.Label + Me.Label16 = New System.Windows.Forms.Label + Me.TextBox23 = New System.Windows.Forms.TextBox + Me.TextBox22 = New System.Windows.Forms.TextBox + Me.TextBox21 = New System.Windows.Forms.TextBox + Me.TextBox20 = New System.Windows.Forms.TextBox + Me.TextBox19 = New System.Windows.Forms.TextBox + Me.Label22 = New System.Windows.Forms.Label + Me.Label21 = New System.Windows.Forms.Label + Me.Label20 = New System.Windows.Forms.Label + Me.Label19 = New System.Windows.Forms.Label + Me.Label18 = New System.Windows.Forms.Label + Me.Label17 = New System.Windows.Forms.Label + Me.TextBox17 = New System.Windows.Forms.TextBox + Me.DesktopGroup = New System.Windows.Forms.GroupBox + Me.Label12 = New System.Windows.Forms.Label + Me.btnBCFontDialog = New System.Windows.Forms.Button + Me.inBCFontWeight = New System.Windows.Forms.CheckBox + Me.Label29 = New System.Windows.Forms.Label + Me.inBCFontSize = New System.Windows.Forms.TextBox + Me.inBCFontName = New System.Windows.Forms.TextBox + Me.SheetSettings = New System.Windows.Forms.Panel + Me.Label121 = New System.Windows.Forms.Label + Me.inUnits2 = New System.Windows.Forms.Label + Me.Label11 = New System.Windows.Forms.Label + Me.inStartCol = New System.Windows.Forms.TextBox + Me.inStartRow = New System.Windows.Forms.TextBox + Me.Label31 = New System.Windows.Forms.Label + Me.Label32 = New System.Windows.Forms.Label + Me.batchEntries = New System.Windows.Forms.Label + Me.Label43 = New System.Windows.Forms.Label + Me.batchNumber = New System.Windows.Forms.NumericUpDown + Me.batchPreview = New System.Windows.Forms.TextBox + Me.Button2 = New System.Windows.Forms.Button + Me.btnPrintBatch = New System.Windows.Forms.Button + Me.Label42 = New System.Windows.Forms.Label + Me.inGapHeight = New System.Windows.Forms.TextBox + Me.inGapWidth = New System.Windows.Forms.TextBox + Me.inLabelHeight = New System.Windows.Forms.TextBox + Me.inLabelWidth = New System.Windows.Forms.TextBox + Me.inLabelCols = New System.Windows.Forms.TextBox + Me.inLabelRows = New System.Windows.Forms.TextBox + Me.Label41 = New System.Windows.Forms.Label + Me.Label40 = New System.Windows.Forms.Label + Me.Label39 = New System.Windows.Forms.Label + Me.Label38 = New System.Windows.Forms.Label + Me.Label37 = New System.Windows.Forms.Label + Me.Label36 = New System.Windows.Forms.Label + Me.inFontWeight = New System.Windows.Forms.CheckBox + Me.Label23 = New System.Windows.Forms.Label + Me.inFontSize = New System.Windows.Forms.TextBox + Me.FontDialogButn = New System.Windows.Forms.Button + Me.inFontName = New System.Windows.Forms.TextBox + Me.Label3 = New System.Windows.Forms.Label + Me.PrinterDialogButn = New System.Windows.Forms.Button + Me.inPrinterName = New System.Windows.Forms.TextBox + Me.Label2 = New System.Windows.Forms.Label + Me.Label15 = New System.Windows.Forms.Label + Me.TabPage2 = New System.Windows.Forms.TabPage + Me.PocketLabelPanel = New System.Windows.Forms.Panel + Me.plUnits2 = New System.Windows.Forms.Label + Me.plUnits1 = New System.Windows.Forms.Label + Me.userDefinedPanel = New System.Windows.Forms.Panel + Me.Label96 = New System.Windows.Forms.Label + Me.plMax4 = New System.Windows.Forms.TextBox + Me.plMax3 = New System.Windows.Forms.TextBox + Me.plMax2 = New System.Windows.Forms.TextBox + Me.plMax1 = New System.Windows.Forms.TextBox + Me.Label95 = New System.Windows.Forms.Label + Me.plMin4 = New System.Windows.Forms.TextBox + Me.plMin3 = New System.Windows.Forms.TextBox + Me.plMin2 = New System.Windows.Forms.TextBox + Me.plMin1 = New System.Windows.Forms.TextBox + Me.Label93 = New System.Windows.Forms.Label + Me.Label92 = New System.Windows.Forms.Label + Me.plSrc4 = New System.Windows.Forms.TextBox + Me.plSrc3 = New System.Windows.Forms.TextBox + Me.plSrc2 = New System.Windows.Forms.TextBox + Me.plSrc1 = New System.Windows.Forms.TextBox + Me.spineType = New System.Windows.Forms.Label + Me.Label106 = New System.Windows.Forms.Label + Me.Label105 = New System.Windows.Forms.Label + Me.Label104 = New System.Windows.Forms.Label + Me.Label101 = New System.Windows.Forms.Label + Me.Label100 = New System.Windows.Forms.Label + Me.Label94 = New System.Windows.Forms.Label + Me.btnSL6 = New System.Windows.Forms.RadioButton + Me.btnSL4 = New System.Windows.Forms.RadioButton + Me.btnSLB = New System.Windows.Forms.RadioButton + Me.Label103 = New System.Windows.Forms.Label + Me.Label102 = New System.Windows.Forms.Label + Me.plLeftMargin = New System.Windows.Forms.TextBox + Me.PLcount = New System.Windows.Forms.NumericUpDown + Me.plDistance = New System.Windows.Forms.TextBox + Me.Label99 = New System.Windows.Forms.Label + Me.Label98 = New System.Windows.Forms.Label + Me.plWork = New System.Windows.Forms.TextBox + Me.Label97 = New System.Windows.Forms.Label + Me.btnPlCustom = New System.Windows.Forms.RadioButton + Me.plOutput = New System.Windows.Forms.TextBox + Me.Label88 = New System.Windows.Forms.Label + Me.tweakParsingPanel = New System.Windows.Forms.Panel + Me.convertBlankTo = New System.Windows.Forms.TextBox + Me.Label65 = New System.Windows.Forms.Label + Me.TabControl2 = New System.Windows.Forms.TabControl + Me.TabPage7 = New System.Windows.Forms.TabPage + Me.hideCutterDecimal = New System.Windows.Forms.CheckBox + Me.lcType = New System.Windows.Forms.TextBox + Me.Label107 = New System.Windows.Forms.Label + Me.lcRemoveAfter = New System.Windows.Forms.CheckBox + Me.lcBreak = New System.Windows.Forms.TextBox + Me.Panel6 = New System.Windows.Forms.Panel + Me.lcOtherBreakAft = New System.Windows.Forms.RadioButton + Me.Label78 = New System.Windows.Forms.Label + Me.lcOtherBreakB4 = New System.Windows.Forms.RadioButton + Me.lcOtherNoBreak = New System.Windows.Forms.RadioButton + Me.Panel8 = New System.Windows.Forms.Panel + Me.Label76 = New System.Windows.Forms.Label + Me.lcInCutterBreak = New System.Windows.Forms.RadioButton + Me.lcIncutternobreak = New System.Windows.Forms.RadioButton + Me.Panel7 = New System.Windows.Forms.Panel + Me.Label75 = New System.Windows.Forms.Label + Me.lcCutterBreak = New System.Windows.Forms.RadioButton + Me.lcCutterNoBreak = New System.Windows.Forms.RadioButton + Me.Panel5 = New System.Windows.Forms.Panel + Me.lcDecimalBreakAfter = New System.Windows.Forms.RadioButton + Me.Label74 = New System.Windows.Forms.Label + Me.lcDecimalBreakB4 = New System.Windows.Forms.RadioButton + Me.lcNoDecimalBreak = New System.Windows.Forms.RadioButton + Me.lcNumericBreak = New System.Windows.Forms.RadioButton + Me.lcNoNumericBreak = New System.Windows.Forms.RadioButton + Me.Label66 = New System.Windows.Forms.Label + Me.TabPage8 = New System.Windows.Forms.TabPage + Me.deweyDecBreak = New System.Windows.Forms.CheckBox + Me.deweyDigitsToBreak = New System.Windows.Forms.TextBox + Me.Label128 = New System.Windows.Forms.Label + Me.Label127 = New System.Windows.Forms.Label + Me.Label126 = New System.Windows.Forms.Label + Me.Label125 = New System.Windows.Forms.Label + Me.deweydigitsperline = New System.Windows.Forms.TextBox + Me.deweyGroup3 = New System.Windows.Forms.CheckBox + Me.DeweyType = New System.Windows.Forms.TextBox + Me.Label108 = New System.Windows.Forms.Label + Me.deweyRemoveAfter = New System.Windows.Forms.CheckBox + Me.deweyCharBreak = New System.Windows.Forms.TextBox + Me.Panel15 = New System.Windows.Forms.Panel + Me.deweyCharBreakAft = New System.Windows.Forms.RadioButton + Me.Label84 = New System.Windows.Forms.Label + Me.deweyCharBreakb4 = New System.Windows.Forms.RadioButton + Me.deweyOtherNoBreak = New System.Windows.Forms.RadioButton + Me.Panel14 = New System.Windows.Forms.Panel + Me.Label82 = New System.Windows.Forms.Label + Me.deweyPrefixBreak = New System.Windows.Forms.RadioButton + Me.deweyPrefixNoBreak = New System.Windows.Forms.RadioButton + Me.Panel9 = New System.Windows.Forms.Panel + Me.Label77 = New System.Windows.Forms.Label + Me.deweyCutterBreak = New System.Windows.Forms.RadioButton + Me.deweyCutterNoBreak = New System.Windows.Forms.RadioButton + Me.Panel11 = New System.Windows.Forms.Panel + Me.deweyDecimalBreakAft = New System.Windows.Forms.RadioButton + Me.Label79 = New System.Windows.Forms.Label + Me.deweyDecimalBreakb4 = New System.Windows.Forms.RadioButton + Me.deweyDecimalNoBreak = New System.Windows.Forms.RadioButton + Me.TabPage10 = New System.Windows.Forms.TabPage + Me.sudocRemoveAfter = New System.Windows.Forms.CheckBox + Me.sudocCharBreak = New System.Windows.Forms.TextBox + Me.Panel16 = New System.Windows.Forms.Panel + Me.sudocCharBreakAft = New System.Windows.Forms.RadioButton + Me.Label113 = New System.Windows.Forms.Label + Me.sudocCharBreakB4 = New System.Windows.Forms.RadioButton + Me.sudocOtherNoBreak = New System.Windows.Forms.RadioButton + Me.sudocType = New System.Windows.Forms.TextBox + Me.Label109 = New System.Windows.Forms.Label + Me.Panel10 = New System.Windows.Forms.Panel + Me.sudocNoBreakB4Numerics = New System.Windows.Forms.RadioButton + Me.sudocBreakB4Numerics = New System.Windows.Forms.RadioButton + Me.Label85 = New System.Windows.Forms.Label + Me.Panel3 = New System.Windows.Forms.Panel + Me.sudocNoDecimalBreak = New System.Windows.Forms.RadioButton + Me.sudocBreakDecimal = New System.Windows.Forms.RadioButton + Me.Label69 = New System.Windows.Forms.Label + Me.sudocBreakBeforeColon = New System.Windows.Forms.RadioButton + Me.sudocBreakAfterColon = New System.Windows.Forms.RadioButton + Me.sudocNoColonBreak = New System.Windows.Forms.RadioButton + Me.Label67 = New System.Windows.Forms.Label + Me.Panel4 = New System.Windows.Forms.Panel + Me.sudocDashNoBreak = New System.Windows.Forms.RadioButton + Me.sudocDashBreak = New System.Windows.Forms.RadioButton + Me.Label70 = New System.Windows.Forms.Label + Me.Panel2 = New System.Windows.Forms.Panel + Me.sudocSlashNobreak = New System.Windows.Forms.RadioButton + Me.sudocSlashBreak = New System.Windows.Forms.RadioButton + Me.Label68 = New System.Windows.Forms.Label + Me.TabPage11 = New System.Windows.Forms.TabPage + Me.otherType = New System.Windows.Forms.TextBox + Me.Label110 = New System.Windows.Forms.Label + Me.otherRemoveAfter = New System.Windows.Forms.CheckBox + Me.otherFirstSpaceBreak = New System.Windows.Forms.RadioButton + Me.Panel13 = New System.Windows.Forms.Panel + Me.otherNumBreakAfter = New System.Windows.Forms.RadioButton + Me.otherNumBreakb4 = New System.Windows.Forms.RadioButton + Me.othernumnobreak = New System.Windows.Forms.RadioButton + Me.Label83 = New System.Windows.Forms.Label + Me.Panel12 = New System.Windows.Forms.Panel + Me.otherListBreakAfter = New System.Windows.Forms.RadioButton + Me.otherListBreakb4 = New System.Windows.Forms.RadioButton + Me.otherListNoBreak = New System.Windows.Forms.RadioButton + Me.Label81 = New System.Windows.Forms.Label + Me.otherBreak = New System.Windows.Forms.TextBox + Me.otherAllSpaceBreak = New System.Windows.Forms.RadioButton + Me.otherSpaceNoBreak = New System.Windows.Forms.RadioButton + Me.Label80 = New System.Windows.Forms.Label + Me.TabPage9 = New System.Windows.Forms.TabPage + Me.Label111 = New System.Windows.Forms.Label + Me.Label62 = New System.Windows.Forms.Label + Me.spaceBreak = New System.Windows.Forms.CheckBox + Me.issueListBreakAfter = New System.Windows.Forms.RadioButton + Me.issueListBreakB4 = New System.Windows.Forms.RadioButton + Me.issueListNoBreak = New System.Windows.Forms.RadioButton + Me.issueRemoveAfter = New System.Windows.Forms.CheckBox + Me.issueBreak = New System.Windows.Forms.TextBox + Me.BreakParen = New System.Windows.Forms.CheckBox + Me.ProtectColon = New System.Windows.Forms.CheckBox + Me.ColonBreak = New System.Windows.Forms.CheckBox + Me.Label73 = New System.Windows.Forms.Label + Me.Label71 = New System.Windows.Forms.Label + Me.GroupBox2 = New System.Windows.Forms.GroupBox + Me.testComboBox = New System.Windows.Forms.ComboBox + Me.Label59 = New System.Windows.Forms.Label + Me.Label58 = New System.Windows.Forms.Label + Me.testCallNumType = New System.Windows.Forms.TextBox + Me.btnTestParser = New System.Windows.Forms.Button + Me.showFormatInfo = New System.Windows.Forms.TextBox + Me.FTPwarning2 = New System.Windows.Forms.Label + Me.Label91 = New System.Windows.Forms.Label + Me.chkUsePocketLabels = New System.Windows.Forms.CheckBox + Me.nonFlagWrapWidth = New System.Windows.Forms.TextBox + Me.flagWrapWidth = New System.Windows.Forms.TextBox + Me.nonFlagDefaults = New System.Windows.Forms.TextBox + Me.flagDefaults = New System.Windows.Forms.TextBox + Me.GroupBox1 = New System.Windows.Forms.GroupBox + Me.tweakTest = New System.Windows.Forms.Label + Me.inOtherSource = New System.Windows.Forms.TextBox + Me.chkIncludeOther = New System.Windows.Forms.CheckBox + Me.chkIncludeHoldings = New System.Windows.Forms.CheckBox + Me.radio_useSOMparsing = New System.Windows.Forms.RadioButton + Me.parsingSource = New System.Windows.Forms.TextBox + Me.useExlibrisParsing = New System.Windows.Forms.RadioButton + Me.inCallNumSource = New System.Windows.Forms.TextBox + Me.inIssueLevelSource = New System.Windows.Forms.TextBox + Me.Label87 = New System.Windows.Forms.Label + Me.FlagSlips = New System.Windows.Forms.CheckBox + Me.Label33 = New System.Windows.Forms.Label + Me.Label28 = New System.Windows.Forms.Label + Me.Spine = New System.Windows.Forms.RadioButton + Me.CustomLabel = New System.Windows.Forms.RadioButton + Me.CustomText = New System.Windows.Forms.TextBox + Me.formatInfoPanel = New System.Windows.Forms.Panel + Me.suppress3 = New System.Windows.Forms.TextBox + Me.suppress2 = New System.Windows.Forms.TextBox + Me.suppress1 = New System.Windows.Forms.TextBox + Me.wrapWidth = New System.Windows.Forms.TextBox + Me.closeFormatInfo = New System.Windows.Forms.TextBox + Me.Label45 = New System.Windows.Forms.Label + Me.spineDefaults = New System.Windows.Forms.TextBox + Me.pocketDefaults = New System.Windows.Forms.TextBox + Me.TabPage3 = New System.Windows.Forms.TabPage + Me.Label57 = New System.Windows.Forms.Label + Me.radio_useSystem = New System.Windows.Forms.RadioButton + Me.radio_useLocal = New System.Windows.Forms.RadioButton + Me.Label54 = New System.Windows.Forms.Label + Me.Label44 = New System.Windows.Forms.Label + Me.btn_saveALT = New System.Windows.Forms.Button + Me.btn_cancelALT = New System.Windows.Forms.Button + Me.btn_deleteALT = New System.Windows.Forms.Button + Me.btn_changeALT = New System.Windows.Forms.Button + Me.btn_addALT = New System.Windows.Forms.Button + Me.altText = New System.Windows.Forms.TextBox + Me.altURL = New System.Windows.Forms.TextBox + Me.Label8 = New System.Windows.Forms.Label + Me.TextBox14 = New System.Windows.Forms.TextBox + Me.TextBox13 = New System.Windows.Forms.TextBox + Me.Label14 = New System.Windows.Forms.Label + Me.Label13 = New System.Windows.Forms.Label + Me.SaveAboveLC = New System.Windows.Forms.Button + Me.altList = New System.Windows.Forms.ListBox + Me.ComboBox1 = New System.Windows.Forms.ComboBox + Me.TabPage4 = New System.Windows.Forms.TabPage + Me.btnViewLicense = New System.Windows.Forms.Button + Me.btnDocDownload = New System.Windows.Forms.Button + Me.PictureBox1 = New System.Windows.Forms.PictureBox + Me.chkXMLWarning = New System.Windows.Forms.CheckBox + Me.RichTextBox1 = New System.Windows.Forms.RichTextBox + Me.lbl_copyXMLtext = New System.Windows.Forms.Label + Me.includeSettings = New System.Windows.Forms.CheckBox + Me.xmlCopyDone = New System.Windows.Forms.Label + Me.TabPage5 = New System.Windows.Forms.TabPage + Me.dontConvert = New System.Windows.Forms.CheckBox + Me.xmlShell = New System.Windows.Forms.TextBox + Me.Label134 = New System.Windows.Forms.Label + Me.Label133 = New System.Windows.Forms.Label + Me.Label132 = New System.Windows.Forms.Label + Me.Label131 = New System.Windows.Forms.Label + Me.apiMethod = New System.Windows.Forms.TextBox + Me.Label130 = New System.Windows.Forms.Label + Me.Label129 = New System.Windows.Forms.Label + Me.apiKey = New System.Windows.Forms.TextBox + Me.apiURL = New System.Windows.Forms.TextBox + Me.UseRestfulApi = New System.Windows.Forms.RadioButton + Me.ispList = New System.Windows.Forms.ListBox + Me.updatePath = New System.Windows.Forms.TextBox + Me.configText = New System.Windows.Forms.TextBox + Me.logEdits = New System.Windows.Forms.CheckBox + Me.Label64 = New System.Windows.Forms.Label + Me.Label63 = New System.Windows.Forms.Label + Me.GroupBox3 = New System.Windows.Forms.GroupBox + Me.Label1 = New System.Windows.Forms.Label + Me.javaCheck = New System.Windows.Forms.Button + Me.javabox = New System.Windows.Forms.TextBox + Me.Label7 = New System.Windows.Forms.Label + Me.inAlmaInstCode = New System.Windows.Forms.TextBox + Me.Label53 = New System.Windows.Forms.Label + Me.inAlmaPassword = New System.Windows.Forms.TextBox + Me.Label52 = New System.Windows.Forms.Label + Me.inAlmaUsername = New System.Windows.Forms.TextBox + Me.Label51 = New System.Windows.Forms.Label + Me.inAlmaUrl = New System.Windows.Forms.TextBox + Me.Label6 = New System.Windows.Forms.Label + Me.XMLPath = New System.Windows.Forms.TextBox + Me.btnMonitor = New System.Windows.Forms.Button + Me.WebServiceURL = New System.Windows.Forms.TextBox + Me.useServlet = New System.Windows.Forms.RadioButton + Me.UseJavaApp = New System.Windows.Forms.RadioButton + Me.TabPage6 = New System.Windows.Forms.TabPage + Me.showIsp = New System.Windows.Forms.CheckBox + Me.chkAddHostname = New System.Windows.Forms.CheckBox + Me.copyDone = New System.Windows.Forms.Label + Me.lbl_setclipboard = New System.Windows.Forms.Label + Me.chkGeoList = New System.Windows.Forms.CheckBox + Me.inclScanned = New System.Windows.Forms.CheckBox + Me.Label61 = New System.Windows.Forms.Label + Me.Label60 = New System.Windows.Forms.Label + Me.sortBox = New System.Windows.Forms.GroupBox + Me.byAlpha = New System.Windows.Forms.RadioButton + Me.byCount = New System.Windows.Forms.RadioButton + Me.sortSTL = New System.Windows.Forms.ListBox + Me.radioByLocation = New System.Windows.Forms.RadioButton + Me.Label56 = New System.Windows.Forms.Label + Me.searchArg = New System.Windows.Forms.TextBox + Me.radioSearch = New System.Windows.Forms.RadioButton + Me.statsOut = New System.Windows.Forms.TextBox + Me.radioByLibrary = New System.Windows.Forms.RadioButton + Me.radioByUser = New System.Windows.Forms.RadioButton + Me.btnScan = New System.Windows.Forms.Button + Me.STL = New System.Windows.Forms.ListBox + Me.Label55 = New System.Windows.Forms.Label + Me.Label9 = New System.Windows.Forms.Label + Me.toScan = New System.Windows.Forms.DateTimePicker + Me.fromScan = New System.Windows.Forms.DateTimePicker + Me.createTemp = New System.Windows.Forms.CheckBox + Me.chkRequireUser = New System.Windows.Forms.CheckBox + Me.PrintDocument1 = New System.Drawing.Printing.PrintDocument + Me.FileSystemWatcher1 = New System.IO.FileSystemWatcher + Me.FontDialog1 = New System.Windows.Forms.FontDialog + Me.FileSystemWatcher2 = New System.IO.FileSystemWatcher + Me.InputBox = New System.Windows.Forms.TextBox + Me.ScanButton = New System.Windows.Forms.Button + Me.SaveSettingsButn = New System.Windows.Forms.Button + Me.LoadSettingsButn = New System.Windows.Forms.Button + Me.Label27 = New System.Windows.Forms.Label + Me.HistoryList = New System.Windows.Forms.ListBox + Me.ArrowLabel = New System.Windows.Forms.Label + Me.TempLabelBox = New System.Windows.Forms.TextBox + Me.CreateTempLbl = New System.Windows.Forms.Label + Me.CheckForUpdates = New System.Windows.Forms.Button + Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) + Me.Label47 = New System.Windows.Forms.Label + Me.usrname = New System.Windows.Forms.TextBox + Me.lblStation = New System.Windows.Forms.Label + Me.station = New System.Windows.Forms.TextBox + Me.LabelRepeat = New System.Windows.Forms.NumericUpDown + Me.lblXMLWarn = New System.Windows.Forms.Label + Me.lblToggleAdmin = New System.Windows.Forms.Label + Me.unitCM = New System.Windows.Forms.RadioButton + Me.unitINCH = New System.Windows.Forms.RadioButton + Me.decimalCOMMA = New System.Windows.Forms.RadioButton + Me.decimalDOT = New System.Windows.Forms.RadioButton + Me.Label34 = New System.Windows.Forms.Label + Me.PrintDocument2 = New System.Drawing.Printing.PrintDocument + Me.PrintPreviewDialog1 = New System.Windows.Forms.PrintPreviewDialog + Me.parsedBy = New System.Windows.Forms.Label + Me.lblUser = New System.Windows.Forms.Label + Me.Label10 = New System.Windows.Forms.Label + Me.tips = New System.Windows.Forms.CheckBox + Me.Label86 = New System.Windows.Forms.Label + Me.TextBox24 = New System.Windows.Forms.TextBox + Me.printProgress = New System.Windows.Forms.Label + Me.licenseAgreement = New System.Windows.Forms.TextBox + Me.licensePanel = New System.Windows.Forms.Panel + Me.TextBox1 = New System.Windows.Forms.TextBox + Me.cancelAgreement = New System.Windows.Forms.Button + Me.acceptAgreement = New System.Windows.Forms.Button + Me.licenseHeadline = New System.Windows.Forms.Label + Me.RadioButton1 = New System.Windows.Forms.RadioButton + Me.Label112 = New System.Windows.Forms.Label + Me.RadioButton2 = New System.Windows.Forms.RadioButton + Me.RadioButton3 = New System.Windows.Forms.RadioButton + Me.Panel18 = New System.Windows.Forms.Panel + Me.Label116 = New System.Windows.Forms.Label + Me.Panel19 = New System.Windows.Forms.Panel + Me.Label124 = New System.Windows.Forms.Label + Me.Label123 = New System.Windows.Forms.Label + Me.xboxPanel = New System.Windows.Forms.Panel + Me.Label90 = New System.Windows.Forms.Label + Me.Label89 = New System.Windows.Forms.Label + Me.closeXbox = New System.Windows.Forms.Label + Me.XBOX = New System.Windows.Forms.ListBox + Me.holdingsBy = New System.Windows.Forms.Label + Me.accessType = New System.Windows.Forms.Label + Me.Panel1.SuspendLayout() + Me.TabControl1.SuspendLayout() + Me.TabPage1.SuspendLayout() + Me.viaDOSPanel.SuspendLayout() + Me.Panel17.SuspendLayout() + Me.orientationPanel.SuspendLayout() + Me.marginPanel.SuspendLayout() + Me.FTPGroup.SuspendLayout() + Me.DesktopGroup.SuspendLayout() + Me.SheetSettings.SuspendLayout() + CType(Me.batchNumber, System.ComponentModel.ISupportInitialize).BeginInit() + Me.TabPage2.SuspendLayout() + Me.PocketLabelPanel.SuspendLayout() + Me.userDefinedPanel.SuspendLayout() + CType(Me.PLcount, System.ComponentModel.ISupportInitialize).BeginInit() + Me.tweakParsingPanel.SuspendLayout() + Me.TabControl2.SuspendLayout() + Me.TabPage7.SuspendLayout() + Me.Panel6.SuspendLayout() + Me.Panel8.SuspendLayout() + Me.Panel7.SuspendLayout() + Me.Panel5.SuspendLayout() + Me.TabPage8.SuspendLayout() + Me.Panel15.SuspendLayout() + Me.Panel14.SuspendLayout() + Me.Panel9.SuspendLayout() + Me.Panel11.SuspendLayout() + Me.TabPage10.SuspendLayout() + Me.Panel16.SuspendLayout() + Me.Panel10.SuspendLayout() + Me.Panel3.SuspendLayout() + Me.Panel4.SuspendLayout() + Me.Panel2.SuspendLayout() + Me.TabPage11.SuspendLayout() + Me.Panel13.SuspendLayout() + Me.Panel12.SuspendLayout() + Me.TabPage9.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.GroupBox1.SuspendLayout() + Me.formatInfoPanel.SuspendLayout() + Me.TabPage3.SuspendLayout() + Me.TabPage4.SuspendLayout() + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.TabPage5.SuspendLayout() + Me.GroupBox3.SuspendLayout() + Me.TabPage6.SuspendLayout() + Me.sortBox.SuspendLayout() + CType(Me.FileSystemWatcher1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.FileSystemWatcher2, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.LabelRepeat, System.ComponentModel.ISupportInitialize).BeginInit() + Me.licensePanel.SuspendLayout() + Me.Panel18.SuspendLayout() + Me.Panel19.SuspendLayout() + Me.xboxPanel.SuspendLayout() + Me.SuspendLayout() + ' + 'OutputBox + ' + Me.OutputBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.OutputBox.Font = New System.Drawing.Font("Century Gothic", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.OutputBox.Location = New System.Drawing.Point(0, 188) + Me.OutputBox.Multiline = True + Me.OutputBox.Name = "OutputBox" + Me.OutputBox.RightToLeft = System.Windows.Forms.RightToLeft.No + Me.OutputBox.Size = New System.Drawing.Size(216, 192) + Me.OutputBox.TabIndex = 0 + Me.ToolTip1.SetToolTip(Me.OutputBox, "Output Box where the spine label can be displayed or edited.") + ' + 'ManualPrint + ' + Me.ManualPrint.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.ManualPrint.Location = New System.Drawing.Point(4, 384) + Me.ManualPrint.Margin = New System.Windows.Forms.Padding(0) + Me.ManualPrint.Name = "ManualPrint" + Me.ManualPrint.Size = New System.Drawing.Size(152, 24) + Me.ManualPrint.TabIndex = 1 + Me.ManualPrint.Text = "Send to Desktop printer" + Me.ToolTip1.SetToolTip(Me.ManualPrint, "Print label on selected printer") + Me.ManualPrint.UseVisualStyleBackColor = True + ' + 'Panel1 + ' + Me.Panel1.Controls.Add(Me.ReviewBox) + Me.Panel1.Controls.Add(Me.AutoPrintBox) + Me.Panel1.Location = New System.Drawing.Point(16, 20) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(176, 24) + Me.Panel1.TabIndex = 2 + ' + 'ReviewBox + ' + Me.ReviewBox.AutoSize = True + Me.ReviewBox.Checked = True + Me.ReviewBox.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.ReviewBox.Location = New System.Drawing.Point(96, 4) + Me.ReviewBox.Name = "ReviewBox" + Me.ReviewBox.Size = New System.Drawing.Size(71, 19) + Me.ReviewBox.TabIndex = 1 + Me.ReviewBox.TabStop = True + Me.ReviewBox.Tag = "radio_review" + Me.ReviewBox.Text = "Review" + Me.ToolTip1.SetToolTip(Me.ReviewBox, "Review label, and print when you click the Send to printer button.") + Me.ReviewBox.UseVisualStyleBackColor = True + ' + 'AutoPrintBox + ' + Me.AutoPrintBox.AutoSize = True + Me.AutoPrintBox.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.AutoPrintBox.Location = New System.Drawing.Point(4, 4) + Me.AutoPrintBox.Name = "AutoPrintBox" + Me.AutoPrintBox.Size = New System.Drawing.Size(77, 19) + Me.AutoPrintBox.TabIndex = 0 + Me.AutoPrintBox.Tag = "radio_autoprint" + Me.AutoPrintBox.Text = "Auto Print" + Me.ToolTip1.SetToolTip(Me.AutoPrintBox, "Send label label to selected printer without review.") + Me.AutoPrintBox.UseVisualStyleBackColor = True + ' + 'TabControl1 + ' + Me.TabControl1.Controls.Add(Me.TabPage1) + Me.TabControl1.Controls.Add(Me.TabPage2) + Me.TabControl1.Controls.Add(Me.TabPage3) + Me.TabControl1.Controls.Add(Me.TabPage4) + Me.TabControl1.Controls.Add(Me.TabPage5) + Me.TabControl1.Controls.Add(Me.TabPage6) + Me.TabControl1.Location = New System.Drawing.Point(220, 28) + Me.TabControl1.Name = "TabControl1" + Me.TabControl1.SelectedIndex = 0 + Me.TabControl1.Size = New System.Drawing.Size(536, 356) + Me.TabControl1.TabIndex = 3 + ' + 'TabPage1 + ' + Me.TabPage1.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.TabPage1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.TabPage1.Controls.Add(Me.viaDOSPanel) + Me.TabPage1.Controls.Add(Me.useDOSBatch) + Me.TabPage1.Controls.Add(Me.FTPwarning) + Me.TabPage1.Controls.Add(Me.Label72) + Me.TabPage1.Controls.Add(Me.showLabelType) + Me.TabPage1.Controls.Add(Me.orientationPanel) + Me.TabPage1.Controls.Add(Me.marginPanel) + Me.TabPage1.Controls.Add(Me.Label35) + Me.TabPage1.Controls.Add(Me.UseLaser) + Me.TabPage1.Controls.Add(Me.inMaxLines) + Me.TabPage1.Controls.Add(Me.inMaxChars) + Me.TabPage1.Controls.Add(Me.UseFTP) + Me.TabPage1.Controls.Add(Me.Label24) + Me.TabPage1.Controls.Add(Me.Label25) + Me.TabPage1.Controls.Add(Me.UseDesktop) + Me.TabPage1.Controls.Add(Me.FTPGroup) + Me.TabPage1.Controls.Add(Me.DesktopGroup) + Me.TabPage1.Controls.Add(Me.Label15) + Me.TabPage1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TabPage1.Location = New System.Drawing.Point(4, 22) + Me.TabPage1.Name = "TabPage1" + Me.TabPage1.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage1.Size = New System.Drawing.Size(528, 330) + Me.TabPage1.TabIndex = 0 + Me.TabPage1.Text = "Print Setup" + ' + 'viaDOSPanel + ' + Me.viaDOSPanel.Controls.Add(Me.viadosCaution) + Me.viaDOSPanel.Controls.Add(Me.Panel17) + Me.viaDOSPanel.Controls.Add(Me.Label120) + Me.viaDOSPanel.Controls.Add(Me.Label122) + Me.viaDOSPanel.Controls.Add(Me.dosParam2) + Me.viaDOSPanel.Controls.Add(Me.dosParam1) + Me.viaDOSPanel.Controls.Add(Me.batsignal) + Me.viaDOSPanel.Controls.Add(Me.loadViados) + Me.viaDOSPanel.Controls.Add(Me.hideDosWindow) + Me.viaDOSPanel.Controls.Add(Me.Label119) + Me.viaDOSPanel.Controls.Add(Me.Label118) + Me.viaDOSPanel.Controls.Add(Me.dosPlTabNum) + Me.viaDOSPanel.Controls.Add(Me.dosPlColNum) + Me.viaDOSPanel.Controls.Add(Me.dosPlUseTab) + Me.viaDOSPanel.Controls.Add(Me.dosPlUseCol) + Me.viaDOSPanel.Controls.Add(Me.Label117) + Me.viaDOSPanel.Controls.Add(Me.Label114) + Me.viaDOSPanel.Controls.Add(Me.batchDisplay) + Me.viaDOSPanel.Controls.Add(Me.viadosSave) + Me.viaDOSPanel.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.viaDOSPanel.Location = New System.Drawing.Point(436, 264) + Me.viaDOSPanel.Name = "viaDOSPanel" + Me.viaDOSPanel.Size = New System.Drawing.Size(80, 44) + Me.viaDOSPanel.TabIndex = 58 + Me.viaDOSPanel.Visible = False + ' + 'viadosCaution + ' + Me.viadosCaution.AutoSize = True + Me.viadosCaution.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.viadosCaution.ForeColor = System.Drawing.Color.Red + Me.viadosCaution.Location = New System.Drawing.Point(96, 292) + Me.viadosCaution.Name = "viadosCaution" + Me.viadosCaution.Size = New System.Drawing.Size(42, 13) + Me.viadosCaution.TabIndex = 64 + Me.viadosCaution.Text = "caution" + Me.viadosCaution.Visible = False + ' + 'Panel17 + ' + Me.Panel17.Controls.Add(Me.appendAscii) + Me.Panel17.Controls.Add(Me.dosUseFF) + Me.Panel17.Controls.Add(Me.dosAddLines) + Me.Panel17.Controls.Add(Me.dosBlankLines) + Me.Panel17.Controls.Add(Me.Label115) + Me.Panel17.Location = New System.Drawing.Point(36, 28) + Me.Panel17.Name = "Panel17" + Me.Panel17.Size = New System.Drawing.Size(316, 20) + Me.Panel17.TabIndex = 63 + ' + 'appendAscii + ' + Me.appendAscii.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.appendAscii.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.appendAscii.Location = New System.Drawing.Point(272, 2) + Me.appendAscii.Name = "appendAscii" + Me.appendAscii.Size = New System.Drawing.Size(16, 13) + Me.appendAscii.TabIndex = 8 + Me.appendAscii.Tag = "text_viadosAscii" + Me.appendAscii.Text = "12" + Me.appendAscii.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + Me.ToolTip1.SetToolTip(Me.appendAscii, "Append an ASCII code to the label text (12 = formfeed, etc.)") + ' + 'dosUseFF + ' + Me.dosUseFF.AutoSize = True + Me.dosUseFF.Location = New System.Drawing.Point(180, 0) + Me.dosUseFF.Name = "dosUseFF" + Me.dosUseFF.Size = New System.Drawing.Size(91, 17) + Me.dosUseFF.TabIndex = 7 + Me.dosUseFF.Tag = "radio_useformfeed" + Me.dosUseFF.Text = "append ASCII" + Me.ToolTip1.SetToolTip(Me.dosUseFF, "Append an ASCII value to the label text.") + Me.dosUseFF.UseVisualStyleBackColor = True + ' + 'dosAddLines + ' + Me.dosAddLines.AutoSize = True + Me.dosAddLines.Checked = True + Me.dosAddLines.Location = New System.Drawing.Point(4, 0) + Me.dosAddLines.Name = "dosAddLines" + Me.dosAddLines.Size = New System.Drawing.Size(82, 17) + Me.dosAddLines.TabIndex = 6 + Me.dosAddLines.TabStop = True + Me.dosAddLines.Tag = "radio_labellength" + Me.dosAddLines.Text = "Make labels" + Me.ToolTip1.SetToolTip(Me.dosAddLines, "Add blank lines to make all labels the same length.") + Me.dosAddLines.UseVisualStyleBackColor = True + ' + 'dosBlankLines + ' + Me.dosBlankLines.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.dosBlankLines.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.dosBlankLines.Location = New System.Drawing.Point(88, 2) + Me.dosBlankLines.Name = "dosBlankLines" + Me.dosBlankLines.Size = New System.Drawing.Size(16, 13) + Me.dosBlankLines.TabIndex = 5 + Me.dosBlankLines.Tag = "text_viadosnumlines" + Me.dosBlankLines.Text = "12" + Me.dosBlankLines.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + Me.ToolTip1.SetToolTip(Me.dosBlankLines, "Appends blank lines to make each label this length; Enter 0 for no blanks lines.") + ' + 'Label115 + ' + Me.Label115.AutoSize = True + Me.Label115.Location = New System.Drawing.Point(108, 2) + Me.Label115.Name = "Label115" + Me.Label115.Size = New System.Drawing.Size(66, 13) + Me.Label115.TabIndex = 3 + Me.Label115.Text = "lines long, or" + ' + 'Label120 + ' + Me.Label120.AutoSize = True + Me.Label120.Location = New System.Drawing.Point(4, 80) + Me.Label120.Name = "Label120" + Me.Label120.Size = New System.Drawing.Size(134, 13) + Me.Label120.TabIndex = 62 + Me.Label120.Text = "Optional parameters: %~1:" + ' + 'Label122 + ' + Me.Label122.AutoSize = True + Me.Label122.Location = New System.Drawing.Point(260, 80) + Me.Label122.Name = "Label122" + Me.Label122.Size = New System.Drawing.Size(31, 13) + Me.Label122.TabIndex = 61 + Me.Label122.Text = "%~2:" + ' + 'dosParam2 + ' + Me.dosParam2.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.dosParam2.Font = New System.Drawing.Font("Arial Narrow", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.dosParam2.Location = New System.Drawing.Point(292, 80) + Me.dosParam2.Name = "dosParam2" + Me.dosParam2.Size = New System.Drawing.Size(112, 13) + Me.dosParam2.TabIndex = 59 + Me.dosParam2.Tag = "text_dosparam2" + Me.ToolTip1.SetToolTip(Me.dosParam2, "Send optional text string or value to the batch file.") + ' + 'dosParam1 + ' + Me.dosParam1.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.dosParam1.Font = New System.Drawing.Font("Arial Narrow", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.dosParam1.Location = New System.Drawing.Point(140, 80) + Me.dosParam1.Name = "dosParam1" + Me.dosParam1.Size = New System.Drawing.Size(112, 13) + Me.dosParam1.TabIndex = 58 + Me.dosParam1.Tag = "text_dosparam1" + Me.ToolTip1.SetToolTip(Me.dosParam1, "Send optional text string or value to the batch file.") + ' + 'batsignal + ' + Me.batsignal.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.batsignal.Font = New System.Drawing.Font("Wingdings 3", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(2, Byte)) + Me.batsignal.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.batsignal.Location = New System.Drawing.Point(308, 288) + Me.batsignal.Name = "batsignal" + Me.batsignal.Size = New System.Drawing.Size(20, 20) + Me.batsignal.TabIndex = 55 + Me.batsignal.Text = "u" + ' + 'loadViados + ' + Me.loadViados.Location = New System.Drawing.Point(220, 288) + Me.loadViados.Name = "loadViados" + Me.loadViados.Size = New System.Drawing.Size(68, 20) + Me.loadViados.TabIndex = 57 + Me.loadViados.Text = "Load file" + Me.ToolTip1.SetToolTip(Me.loadViados, "Load the current ""viados.bat"" file from disk.") + Me.loadViados.UseVisualStyleBackColor = True + ' + 'hideDosWindow + ' + Me.hideDosWindow.AutoSize = True + Me.hideDosWindow.Location = New System.Drawing.Point(8, 292) + Me.hideDosWindow.Name = "hideDosWindow" + Me.hideDosWindow.Size = New System.Drawing.Size(81, 17) + Me.hideDosWindow.TabIndex = 56 + Me.hideDosWindow.Tag = "check_runhidden" + Me.hideDosWindow.Text = "Run hidden" + Me.ToolTip1.SetToolTip(Me.hideDosWindow, "Don't show command window when batch file executes.") + Me.hideDosWindow.UseVisualStyleBackColor = True + ' + 'Label119 + ' + Me.Label119.AutoSize = True + Me.Label119.Location = New System.Drawing.Point(220, 50) + Me.Label119.Name = "Label119" + Me.Label119.Size = New System.Drawing.Size(19, 13) + Me.Label119.TabIndex = 14 + Me.Label119.Text = "or " + ' + 'Label118 + ' + Me.Label118.AutoSize = True + Me.Label118.Location = New System.Drawing.Point(308, 50) + Me.Label118.Name = "Label118" + Me.Label118.Size = New System.Drawing.Size(36, 13) + Me.Label118.TabIndex = 13 + Me.Label118.Text = "tab(s)." + ' + 'dosPlTabNum + ' + Me.dosPlTabNum.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.dosPlTabNum.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.dosPlTabNum.Location = New System.Drawing.Point(288, 50) + Me.dosPlTabNum.Name = "dosPlTabNum" + Me.dosPlTabNum.Size = New System.Drawing.Size(16, 13) + Me.dosPlTabNum.TabIndex = 12 + Me.dosPlTabNum.Tag = "text_plnumtabs" + Me.dosPlTabNum.Text = "1" + Me.dosPlTabNum.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + Me.ToolTip1.SetToolTip(Me.dosPlTabNum, "Separate spine from pocket label by this number of tabs.") + ' + 'dosPlColNum + ' + Me.dosPlColNum.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.dosPlColNum.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.dosPlColNum.Location = New System.Drawing.Point(200, 50) + Me.dosPlColNum.Name = "dosPlColNum" + Me.dosPlColNum.Size = New System.Drawing.Size(16, 13) + Me.dosPlColNum.TabIndex = 11 + Me.dosPlColNum.Tag = "text_plnumcols" + Me.dosPlColNum.Text = "10" + Me.dosPlColNum.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + Me.ToolTip1.SetToolTip(Me.dosPlColNum, "Separate spine from pocket label by this number of spaces.") + ' + 'dosPlUseTab + ' + Me.dosPlUseTab.AutoSize = True + Me.dosPlUseTab.Location = New System.Drawing.Point(240, 48) + Me.dosPlUseTab.Name = "dosPlUseTab" + Me.dosPlUseTab.Size = New System.Drawing.Size(46, 17) + Me.dosPlUseTab.TabIndex = 10 + Me.dosPlUseTab.Tag = "radio_dosplusetab" + Me.dosPlUseTab.Text = "after" + Me.ToolTip1.SetToolTip(Me.dosPlUseTab, "For proportional fonts, use tab(s) between spine & pocket label.") + Me.dosPlUseTab.UseVisualStyleBackColor = True + ' + 'dosPlUseCol + ' + Me.dosPlUseCol.AutoSize = True + Me.dosPlUseCol.Checked = True + Me.dosPlUseCol.Location = New System.Drawing.Point(128, 48) + Me.dosPlUseCol.Name = "dosPlUseCol" + Me.dosPlUseCol.Size = New System.Drawing.Size(73, 17) + Me.dosPlUseCol.TabIndex = 9 + Me.dosPlUseCol.TabStop = True + Me.dosPlUseCol.Tag = "radio_useplcolspacing" + Me.dosPlUseCol.Text = " in column" + Me.ToolTip1.SetToolTip(Me.dosPlUseCol, "For fixed pitch fonts, add spaces between spine & pocket label for proper alignme" & _ + "nt.") + Me.dosPlUseCol.UseVisualStyleBackColor = True + ' + 'Label117 + ' + Me.Label117.AutoSize = True + Me.Label117.Location = New System.Drawing.Point(36, 50) + Me.Label117.Name = "Label117" + Me.Label117.Size = New System.Drawing.Size(90, 13) + Me.Label117.TabIndex = 7 + Me.Label117.Text = "Start pocket label" + ' + 'Label114 + ' + Me.Label114.AutoSize = True + Me.Label114.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label114.Location = New System.Drawing.Point(64, 4) + Me.Label114.Name = "Label114" + Me.Label114.Size = New System.Drawing.Size(261, 15) + Me.Label114.TabIndex = 1 + Me.Label114.Text = "Send label text to batch file ""viados.bat""" + ' + 'batchDisplay + ' + Me.batchDisplay.BackColor = System.Drawing.Color.Black + Me.batchDisplay.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.batchDisplay.Font = New System.Drawing.Font("Courier New", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.batchDisplay.ForeColor = System.Drawing.Color.White + Me.batchDisplay.Location = New System.Drawing.Point(8, 100) + Me.batchDisplay.Multiline = True + Me.batchDisplay.Name = "batchDisplay" + Me.batchDisplay.ScrollBars = System.Windows.Forms.ScrollBars.Both + Me.batchDisplay.Size = New System.Drawing.Size(396, 184) + Me.batchDisplay.TabIndex = 0 + Me.ToolTip1.SetToolTip(Me.batchDisplay, "Create your own DOS Batch file to handle the ""label.txt"" file.") + ' + 'viadosSave + ' + Me.viadosSave.Location = New System.Drawing.Point(328, 288) + Me.viadosSave.Name = "viadosSave" + Me.viadosSave.Size = New System.Drawing.Size(60, 20) + Me.viadosSave.TabIndex = 2 + Me.viadosSave.Text = "Save file" + Me.ToolTip1.SetToolTip(Me.viadosSave, "Save text above to batch file to ""viados.bat"".") + Me.viadosSave.UseVisualStyleBackColor = True + ' + 'useDOSBatch + ' + Me.useDOSBatch.AutoSize = True + Me.useDOSBatch.ForeColor = System.Drawing.Color.Gray + Me.useDOSBatch.Location = New System.Drawing.Point(420, 304) + Me.useDOSBatch.Name = "useDOSBatch" + Me.useDOSBatch.Size = New System.Drawing.Size(95, 17) + Me.useDOSBatch.TabIndex = 57 + Me.useDOSBatch.Tag = "check_useviados" + Me.useDOSBatch.Text = "use viados.bat" + Me.ToolTip1.SetToolTip(Me.useDOSBatch, "Use your own DOS batch file to print to a legacy printer.") + Me.useDOSBatch.UseVisualStyleBackColor = True + ' + 'FTPwarning + ' + Me.FTPwarning.AutoSize = True + Me.FTPwarning.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.FTPwarning.ForeColor = System.Drawing.Color.Red + Me.FTPwarning.Location = New System.Drawing.Point(200, 0) + Me.FTPwarning.Name = "FTPwarning" + Me.FTPwarning.Size = New System.Drawing.Size(266, 15) + Me.FTPwarning.TabIndex = 56 + Me.FTPwarning.Text = "==>FTP printing does not support pocket labels." + Me.FTPwarning.Visible = False + ' + 'Label72 + ' + Me.Label72.AutoSize = True + Me.Label72.Font = New System.Drawing.Font("Wingdings 3", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(2, Byte)) + Me.Label72.ForeColor = System.Drawing.Color.Red + Me.Label72.Location = New System.Drawing.Point(64, 0) + Me.Label72.Name = "Label72" + Me.Label72.Size = New System.Drawing.Size(20, 15) + Me.Label72.TabIndex = 55 + Me.Label72.Tag = "" + Me.Label72.Text = "9" + Me.Label72.TextAlign = System.Drawing.ContentAlignment.TopRight + Me.ToolTip1.SetToolTip(Me.Label72, "Click to open or close the setup panels") + ' + 'showLabelType + ' + Me.showLabelType.ForeColor = System.Drawing.Color.Blue + Me.showLabelType.Location = New System.Drawing.Point(84, 0) + Me.showLabelType.Name = "showLabelType" + Me.showLabelType.Size = New System.Drawing.Size(116, 16) + Me.showLabelType.TabIndex = 34 + Me.showLabelType.Tag = "" + Me.ToolTip1.SetToolTip(Me.showLabelType, "Shows the label format that will be used to print labels.") + ' + 'orientationPanel + ' + Me.orientationPanel.Controls.Add(Me.usePortrait) + Me.orientationPanel.Controls.Add(Me.useLandscape) + Me.orientationPanel.Location = New System.Drawing.Point(412, 136) + Me.orientationPanel.Name = "orientationPanel" + Me.orientationPanel.Size = New System.Drawing.Size(112, 44) + Me.orientationPanel.TabIndex = 33 + ' + 'usePortrait + ' + Me.usePortrait.AutoSize = True + Me.usePortrait.Checked = True + Me.usePortrait.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.usePortrait.Location = New System.Drawing.Point(0, 4) + Me.usePortrait.Name = "usePortrait" + Me.usePortrait.Size = New System.Drawing.Size(58, 17) + Me.usePortrait.TabIndex = 6 + Me.usePortrait.TabStop = True + Me.usePortrait.Tag = "radio_portrait" + Me.usePortrait.Text = "Portrait" + Me.ToolTip1.SetToolTip(Me.usePortrait, "Print vertically on label") + Me.usePortrait.UseVisualStyleBackColor = True + ' + 'useLandscape + ' + Me.useLandscape.AutoSize = True + Me.useLandscape.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.useLandscape.Location = New System.Drawing.Point(0, 24) + Me.useLandscape.Name = "useLandscape" + Me.useLandscape.Size = New System.Drawing.Size(78, 17) + Me.useLandscape.TabIndex = 7 + Me.useLandscape.Tag = "radio_landscape" + Me.useLandscape.Text = "Landscape" + Me.ToolTip1.SetToolTip(Me.useLandscape, "Print horizontally on label") + Me.useLandscape.UseVisualStyleBackColor = True + ' + 'marginPanel + ' + Me.marginPanel.Controls.Add(Me.inUnits1) + Me.marginPanel.Controls.Add(Me.Label4) + Me.marginPanel.Controls.Add(Me.inTopMargin) + Me.marginPanel.Controls.Add(Me.Label5) + Me.marginPanel.Controls.Add(Me.inLeftMargin) + Me.marginPanel.Controls.Add(Me.Label26) + Me.marginPanel.Controls.Add(Me.inLineSpacing) + Me.marginPanel.Location = New System.Drawing.Point(412, 48) + Me.marginPanel.Name = "marginPanel" + Me.marginPanel.Size = New System.Drawing.Size(112, 84) + Me.marginPanel.TabIndex = 32 + ' + 'inUnits1 + ' + Me.inUnits1.AutoSize = True + Me.inUnits1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inUnits1.ForeColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.inUnits1.Location = New System.Drawing.Point(92, 68) + Me.inUnits1.Name = "inUnits1" + Me.inUnits1.Size = New System.Drawing.Size(18, 13) + Me.inUnits1.TabIndex = 31 + Me.inUnits1.Text = "in." + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label4.Location = New System.Drawing.Point(0, 4) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(63, 13) + Me.Label4.TabIndex = 6 + Me.Label4.Text = "Top margin:" + ' + 'inTopMargin + ' + Me.inTopMargin.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inTopMargin.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inTopMargin.Location = New System.Drawing.Point(72, 4) + Me.inTopMargin.Name = "inTopMargin" + Me.inTopMargin.Size = New System.Drawing.Size(36, 13) + Me.inTopMargin.TabIndex = 7 + Me.inTopMargin.Tag = "text_topmargin" + Me.inTopMargin.Text = "0.1" + Me.ToolTip1.SetToolTip(Me.inTopMargin, "Set top margin") + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label5.Location = New System.Drawing.Point(0, 28) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(62, 13) + Me.Label5.TabIndex = 8 + Me.Label5.Text = "Left margin:" + ' + 'inLeftMargin + ' + Me.inLeftMargin.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inLeftMargin.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inLeftMargin.Location = New System.Drawing.Point(72, 28) + Me.inLeftMargin.Name = "inLeftMargin" + Me.inLeftMargin.Size = New System.Drawing.Size(36, 13) + Me.inLeftMargin.TabIndex = 9 + Me.inLeftMargin.Tag = "text_leftmargin" + Me.inLeftMargin.Text = "0.1" + Me.ToolTip1.SetToolTip(Me.inLeftMargin, "Set left margin") + ' + 'Label26 + ' + Me.Label26.AutoSize = True + Me.Label26.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label26.Location = New System.Drawing.Point(0, 52) + Me.Label26.Name = "Label26" + Me.Label26.Size = New System.Drawing.Size(70, 13) + Me.Label26.TabIndex = 13 + Me.Label26.Text = "Line spacing:" + ' + 'inLineSpacing + ' + Me.inLineSpacing.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inLineSpacing.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inLineSpacing.Location = New System.Drawing.Point(72, 52) + Me.inLineSpacing.Name = "inLineSpacing" + Me.inLineSpacing.Size = New System.Drawing.Size(36, 13) + Me.inLineSpacing.TabIndex = 14 + Me.inLineSpacing.Tag = "text_linespacing" + Me.inLineSpacing.Text = "0.2" + Me.ToolTip1.SetToolTip(Me.inLineSpacing, "Set line spacing") + ' + 'Label35 + ' + Me.Label35.AutoSize = True + Me.Label35.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label35.Location = New System.Drawing.Point(4, 20) + Me.Label35.Name = "Label35" + Me.Label35.Size = New System.Drawing.Size(76, 13) + Me.Label35.TabIndex = 31 + Me.Label35.Text = "Printer type:" + ' + 'UseLaser + ' + Me.UseLaser.AutoSize = True + Me.UseLaser.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.UseLaser.Location = New System.Drawing.Point(265, 18) + Me.UseLaser.Name = "UseLaser" + Me.UseLaser.Size = New System.Drawing.Size(76, 17) + Me.UseLaser.TabIndex = 30 + Me.UseLaser.Tag = "radio_uselaser" + Me.UseLaser.Text = "Batch print" + Me.ToolTip1.SetToolTip(Me.UseLaser, "Print batches of call numbers on multi-label laser print sheets") + Me.UseLaser.UseVisualStyleBackColor = True + ' + 'inMaxLines + ' + Me.inMaxLines.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inMaxLines.Location = New System.Drawing.Point(488, 212) + Me.inMaxLines.Name = "inMaxLines" + Me.inMaxLines.Size = New System.Drawing.Size(24, 13) + Me.inMaxLines.TabIndex = 28 + Me.inMaxLines.Tag = "text_ftpmaxlines" + Me.inMaxLines.Text = "7" + Me.inMaxLines.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + Me.ToolTip1.SetToolTip(Me.inMaxLines, "Set max. number of vertical lines to print") + ' + 'inMaxChars + ' + Me.inMaxChars.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inMaxChars.Location = New System.Drawing.Point(488, 232) + Me.inMaxChars.Name = "inMaxChars" + Me.inMaxChars.Size = New System.Drawing.Size(24, 13) + Me.inMaxChars.TabIndex = 24 + Me.inMaxChars.Tag = "text_ftpmaxcharsperline" + Me.inMaxChars.Text = "9" + Me.inMaxChars.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + Me.ToolTip1.SetToolTip(Me.inMaxChars, "Set max. number of characters per line") + ' + 'UseFTP + ' + Me.UseFTP.AutoSize = True + Me.UseFTP.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.UseFTP.Location = New System.Drawing.Point(373, 18) + Me.UseFTP.Name = "UseFTP" + Me.UseFTP.Size = New System.Drawing.Size(107, 17) + Me.UseFTP.TabIndex = 14 + Me.UseFTP.Tag = "radio_useftp" + Me.UseFTP.Text = "FTP Label Printer" + Me.ToolTip1.SetToolTip(Me.UseFTP, "Print to CAB or other printers via FTP") + Me.UseFTP.UseVisualStyleBackColor = True + ' + 'Label24 + ' + Me.Label24.AutoSize = True + Me.Label24.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label24.Location = New System.Drawing.Point(412, 192) + Me.Label24.Name = "Label24" + Me.Label24.Size = New System.Drawing.Size(59, 13) + Me.Label24.TabIndex = 27 + Me.Label24.Text = "Maximums:" + ' + 'Label25 + ' + Me.Label25.AutoSize = True + Me.Label25.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label25.Location = New System.Drawing.Point(412, 232) + Me.Label25.Name = "Label25" + Me.Label25.Size = New System.Drawing.Size(58, 13) + Me.Label25.TabIndex = 23 + Me.Label25.Text = "Chars/line:" + ' + 'UseDesktop + ' + Me.UseDesktop.AutoSize = True + Me.UseDesktop.Checked = True + Me.UseDesktop.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.UseDesktop.Location = New System.Drawing.Point(93, 18) + Me.UseDesktop.Name = "UseDesktop" + Me.UseDesktop.Size = New System.Drawing.Size(140, 17) + Me.UseDesktop.TabIndex = 13 + Me.UseDesktop.TabStop = True + Me.UseDesktop.Tag = "radio_usedesktop" + Me.UseDesktop.Text = "Single label desktop" + Me.ToolTip1.SetToolTip(Me.UseDesktop, "Print to dedicated desktop label printer (Zebra, Dymo, etc.)") + Me.UseDesktop.UseVisualStyleBackColor = True + ' + 'FTPGroup + ' + Me.FTPGroup.Controls.Add(Me.ftpRegisterMsg) + Me.FTPGroup.Controls.Add(Me.btn_ftpRegister) + Me.FTPGroup.Controls.Add(Me.ftpArrow) + Me.FTPGroup.Controls.Add(Me.FTPInfo) + Me.FTPGroup.Controls.Add(Me.Label50) + Me.FTPGroup.Controls.Add(Me.FTPHelp) + Me.FTPGroup.Controls.Add(Me.Label49) + Me.FTPGroup.Controls.Add(Me.FTPPassword) + Me.FTPGroup.Controls.Add(Me.Label48) + Me.FTPGroup.Controls.Add(Me.FTPLogin) + Me.FTPGroup.Controls.Add(Me.Label46) + Me.FTPGroup.Controls.Add(Me.FTPip) + Me.FTPGroup.Controls.Add(Me.Label30) + Me.FTPGroup.Controls.Add(Me.Label16) + Me.FTPGroup.Controls.Add(Me.TextBox23) + Me.FTPGroup.Controls.Add(Me.TextBox22) + Me.FTPGroup.Controls.Add(Me.TextBox21) + Me.FTPGroup.Controls.Add(Me.TextBox20) + Me.FTPGroup.Controls.Add(Me.TextBox19) + Me.FTPGroup.Controls.Add(Me.Label22) + Me.FTPGroup.Controls.Add(Me.Label21) + Me.FTPGroup.Controls.Add(Me.Label20) + Me.FTPGroup.Controls.Add(Me.Label19) + Me.FTPGroup.Controls.Add(Me.Label18) + Me.FTPGroup.Controls.Add(Me.Label17) + Me.FTPGroup.Controls.Add(Me.TextBox17) + Me.FTPGroup.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.FTPGroup.Location = New System.Drawing.Point(4, 260) + Me.FTPGroup.Name = "FTPGroup" + Me.FTPGroup.Size = New System.Drawing.Size(24, 52) + Me.FTPGroup.TabIndex = 12 + Me.FTPGroup.TabStop = False + ' + 'ftpRegisterMsg + ' + Me.ftpRegisterMsg.ForeColor = System.Drawing.Color.Red + Me.ftpRegisterMsg.Location = New System.Drawing.Point(108, 280) + Me.ftpRegisterMsg.Name = "ftpRegisterMsg" + Me.ftpRegisterMsg.Size = New System.Drawing.Size(172, 16) + Me.ftpRegisterMsg.TabIndex = 41 + Me.ftpRegisterMsg.Text = "changes to Logon ID or Password." + Me.ToolTip1.SetToolTip(Me.ftpRegisterMsg, "Clicking 'Register' rewrites the sendlabel.txt file with the new Login ID and/or " & _ + "Password.") + Me.ftpRegisterMsg.Visible = False + ' + 'btn_ftpRegister + ' + Me.btn_ftpRegister.Location = New System.Drawing.Point(52, 272) + Me.btn_ftpRegister.Name = "btn_ftpRegister" + Me.btn_ftpRegister.Size = New System.Drawing.Size(56, 24) + Me.btn_ftpRegister.TabIndex = 40 + Me.btn_ftpRegister.Text = "Register" + Me.ToolTip1.SetToolTip(Me.btn_ftpRegister, "Clicking 'Register' rewrites the sendlabel.txt file with the new Login ID and/or " & _ + "Password.") + Me.btn_ftpRegister.UseVisualStyleBackColor = True + Me.btn_ftpRegister.Visible = False + ' + 'ftpArrow + ' + Me.ftpArrow.Font = New System.Drawing.Font("Wingdings 3", 24.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(2, Byte)) + Me.ftpArrow.ForeColor = System.Drawing.Color.Red + Me.ftpArrow.Location = New System.Drawing.Point(12, 268) + Me.ftpArrow.Name = "ftpArrow" + Me.ftpArrow.Size = New System.Drawing.Size(40, 28) + Me.ftpArrow.TabIndex = 39 + Me.ftpArrow.Text = "9" + Me.ftpArrow.Visible = False + ' + 'FTPInfo + ' + Me.FTPInfo.AutoSize = True + Me.FTPInfo.ForeColor = System.Drawing.Color.Blue + Me.FTPInfo.Location = New System.Drawing.Point(368, 16) + Me.FTPInfo.Name = "FTPInfo" + Me.FTPInfo.Size = New System.Drawing.Size(25, 13) + Me.FTPInfo.TabIndex = 38 + Me.FTPInfo.Text = "Info" + ' + 'Label50 + ' + Me.Label50.AutoSize = True + Me.Label50.Location = New System.Drawing.Point(12, 16) + Me.Label50.Name = "Label50" + Me.Label50.Size = New System.Drawing.Size(220, 13) + Me.Label50.TabIndex = 37 + Me.Label50.Text = "For FTP-attached CAB industrial label printers" + ' + 'FTPHelp + ' + Me.FTPHelp.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.FTPHelp.Location = New System.Drawing.Point(16, 36) + Me.FTPHelp.Name = "FTPHelp" + Me.FTPHelp.Size = New System.Drawing.Size(380, 88) + Me.FTPHelp.TabIndex = 35 + Me.FTPHelp.Text = resources.GetString("FTPHelp.Text") + Me.FTPHelp.Visible = False + ' + 'Label49 + ' + Me.Label49.AutoSize = True + Me.Label49.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label49.Location = New System.Drawing.Point(28, 128) + Me.Label49.Name = "Label49" + Me.Label49.Size = New System.Drawing.Size(56, 13) + Me.Label49.TabIndex = 34 + Me.Label49.Text = "FTP Login" + ' + 'FTPPassword + ' + Me.FTPPassword.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.FTPPassword.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.FTPPassword.Location = New System.Drawing.Point(20, 248) + Me.FTPPassword.Name = "FTPPassword" + Me.FTPPassword.PasswordChar = Global.Microsoft.VisualBasic.ChrW(42) + Me.FTPPassword.Size = New System.Drawing.Size(88, 20) + Me.FTPPassword.TabIndex = 33 + Me.FTPPassword.Tag = "texo_ftppassword" + ' + 'Label48 + ' + Me.Label48.AutoSize = True + Me.Label48.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label48.Location = New System.Drawing.Point(8, 232) + Me.Label48.Name = "Label48" + Me.Label48.Size = New System.Drawing.Size(56, 13) + Me.Label48.TabIndex = 32 + Me.Label48.Text = "Password:" + ' + 'FTPLogin + ' + Me.FTPLogin.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.FTPLogin.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.FTPLogin.Location = New System.Drawing.Point(20, 208) + Me.FTPLogin.Name = "FTPLogin" + Me.FTPLogin.Size = New System.Drawing.Size(88, 20) + Me.FTPLogin.TabIndex = 31 + Me.FTPLogin.Tag = "text_ftplogin" + ' + 'Label46 + ' + Me.Label46.AutoSize = True + Me.Label46.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label46.Location = New System.Drawing.Point(8, 192) + Me.Label46.Name = "Label46" + Me.Label46.Size = New System.Drawing.Size(50, 13) + Me.Label46.TabIndex = 30 + Me.Label46.Text = "Login ID:" + ' + 'FTPip + ' + Me.FTPip.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.FTPip.Location = New System.Drawing.Point(20, 168) + Me.FTPip.Name = "FTPip" + Me.FTPip.Size = New System.Drawing.Size(88, 20) + Me.FTPip.TabIndex = 29 + Me.FTPip.Tag = "text_ftpipaddress" + ' + 'Label30 + ' + Me.Label30.AutoSize = True + Me.Label30.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label30.Location = New System.Drawing.Point(8, 148) + Me.Label30.Name = "Label30" + Me.Label30.Size = New System.Drawing.Size(61, 13) + Me.Label30.TabIndex = 28 + Me.Label30.Text = "IP Address:" + ' + 'Label16 + ' + Me.Label16.AutoSize = True + Me.Label16.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label16.Location = New System.Drawing.Point(256, 128) + Me.Label16.Name = "Label16" + Me.Label16.Size = New System.Drawing.Size(123, 13) + Me.Label16.TabIndex = 16 + Me.Label16.Text = "Label Format Commands" + ' + 'TextBox23 + ' + Me.TextBox23.Location = New System.Drawing.Point(196, 252) + Me.TextBox23.Name = "TextBox23" + Me.TextBox23.Size = New System.Drawing.Size(32, 20) + Me.TextBox23.TabIndex = 15 + Me.TextBox23.Tag = "text_ftpfontsize" + Me.TextBox23.Text = "12" + ' + 'TextBox22 + ' + Me.TextBox22.Location = New System.Drawing.Point(196, 228) + Me.TextBox22.Name = "TextBox22" + Me.TextBox22.Size = New System.Drawing.Size(32, 20) + Me.TextBox22.TabIndex = 14 + Me.TextBox22.Tag = "text_ftpfontnum" + Me.TextBox22.Text = "8" + ' + 'TextBox21 + ' + Me.TextBox21.Location = New System.Drawing.Point(196, 204) + Me.TextBox21.Name = "TextBox21" + Me.TextBox21.Size = New System.Drawing.Size(32, 20) + Me.TextBox21.TabIndex = 13 + Me.TextBox21.Tag = "text_ftplinespacing" + Me.TextBox21.Text = "5" + ' + 'TextBox20 + ' + Me.TextBox20.Location = New System.Drawing.Point(196, 180) + Me.TextBox20.Name = "TextBox20" + Me.TextBox20.Size = New System.Drawing.Size(32, 20) + Me.TextBox20.TabIndex = 12 + Me.TextBox20.Tag = "text_ftptop" + Me.TextBox20.Text = "4" + ' + 'TextBox19 + ' + Me.TextBox19.Location = New System.Drawing.Point(196, 156) + Me.TextBox19.Name = "TextBox19" + Me.TextBox19.Size = New System.Drawing.Size(32, 20) + Me.TextBox19.TabIndex = 11 + Me.TextBox19.Tag = "text_ftplmargin" + Me.TextBox19.Text = "2" + ' + 'Label22 + ' + Me.Label22.AutoSize = True + Me.Label22.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label22.Location = New System.Drawing.Point(140, 256) + Me.Label22.Name = "Label22" + Me.Label22.Size = New System.Drawing.Size(54, 13) + Me.Label22.TabIndex = 9 + Me.Label22.Text = "Font Size:" + ' + 'Label21 + ' + Me.Label21.AutoSize = True + Me.Label21.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label21.Location = New System.Drawing.Point(152, 232) + Me.Label21.Name = "Label21" + Me.Label21.Size = New System.Drawing.Size(38, 13) + Me.Label21.TabIndex = 8 + Me.Label21.Text = "Font#:" + ' + 'Label20 + ' + Me.Label20.AutoSize = True + Me.Label20.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label20.Location = New System.Drawing.Point(124, 208) + Me.Label20.Name = "Label20" + Me.Label20.Size = New System.Drawing.Size(70, 13) + Me.Label20.TabIndex = 7 + Me.Label20.Text = "Line spacing:" + ' + 'Label19 + ' + Me.Label19.AutoSize = True + Me.Label19.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label19.Location = New System.Drawing.Point(164, 184) + Me.Label19.Name = "Label19" + Me.Label19.Size = New System.Drawing.Size(26, 13) + Me.Label19.TabIndex = 6 + Me.Label19.Text = "Top" + ' + 'Label18 + ' + Me.Label18.AutoSize = True + Me.Label18.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label18.Location = New System.Drawing.Point(144, 160) + Me.Label18.Name = "Label18" + Me.Label18.Size = New System.Drawing.Size(48, 13) + Me.Label18.TabIndex = 5 + Me.Label18.Text = "L Margin" + ' + 'Label17 + ' + Me.Label17.AutoSize = True + Me.Label17.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label17.Location = New System.Drawing.Point(148, 128) + Me.Label17.Name = "Label17" + Me.Label17.Size = New System.Drawing.Size(82, 13) + Me.Label17.TabIndex = 3 + Me.Label17.Text = "#LABELTEXT#" + ' + 'TextBox17 + ' + Me.TextBox17.BackColor = System.Drawing.Color.White + Me.TextBox17.Font = New System.Drawing.Font("Courier New", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TextBox17.Location = New System.Drawing.Point(240, 140) + Me.TextBox17.Multiline = True + Me.TextBox17.Name = "TextBox17" + Me.TextBox17.Size = New System.Drawing.Size(152, 132) + Me.TextBox17.TabIndex = 0 + Me.TextBox17.Tag = "text_ftpcommands" + Me.TextBox17.Text = "M l fnt;gothic.ttf" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "m m" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "J" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "H 100" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "S l1;12,0,37,41,25" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "O R" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "F 8;gothic" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "#LABELTEX" & _ + "T#" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "A #COUNT#" + ' + 'DesktopGroup + ' + Me.DesktopGroup.Controls.Add(Me.Label12) + Me.DesktopGroup.Controls.Add(Me.btnBCFontDialog) + Me.DesktopGroup.Controls.Add(Me.inBCFontWeight) + Me.DesktopGroup.Controls.Add(Me.Label29) + Me.DesktopGroup.Controls.Add(Me.inBCFontSize) + Me.DesktopGroup.Controls.Add(Me.inBCFontName) + Me.DesktopGroup.Controls.Add(Me.SheetSettings) + Me.DesktopGroup.Controls.Add(Me.inFontWeight) + Me.DesktopGroup.Controls.Add(Me.Label23) + Me.DesktopGroup.Controls.Add(Me.inFontSize) + Me.DesktopGroup.Controls.Add(Me.FontDialogButn) + Me.DesktopGroup.Controls.Add(Me.inFontName) + Me.DesktopGroup.Controls.Add(Me.Label3) + Me.DesktopGroup.Controls.Add(Me.PrinterDialogButn) + Me.DesktopGroup.Controls.Add(Me.inPrinterName) + Me.DesktopGroup.Controls.Add(Me.Label2) + Me.DesktopGroup.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.DesktopGroup.Location = New System.Drawing.Point(32, 40) + Me.DesktopGroup.Name = "DesktopGroup" + Me.DesktopGroup.Size = New System.Drawing.Size(376, 284) + Me.DesktopGroup.TabIndex = 11 + Me.DesktopGroup.TabStop = False + ' + 'Label12 + ' + Me.Label12.AutoSize = True + Me.Label12.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label12.Location = New System.Drawing.Point(4, 60) + Me.Label12.Name = "Label12" + Me.Label12.Size = New System.Drawing.Size(71, 13) + Me.Label12.TabIndex = 47 + Me.Label12.Text = "Barcode font:" + ' + 'btnBCFontDialog + ' + Me.btnBCFontDialog.FlatStyle = System.Windows.Forms.FlatStyle.System + Me.btnBCFontDialog.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnBCFontDialog.Location = New System.Drawing.Point(344, 56) + Me.btnBCFontDialog.Name = "btnBCFontDialog" + Me.btnBCFontDialog.Size = New System.Drawing.Size(28, 20) + Me.btnBCFontDialog.TabIndex = 46 + Me.btnBCFontDialog.Text = "..." + Me.ToolTip1.SetToolTip(Me.btnBCFontDialog, "Select a barcode font from a list of your installed fonts") + Me.btnBCFontDialog.UseVisualStyleBackColor = False + ' + 'inBCFontWeight + ' + Me.inBCFontWeight.AutoSize = True + Me.inBCFontWeight.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inBCFontWeight.Location = New System.Drawing.Point(292, 60) + Me.inBCFontWeight.Name = "inBCFontWeight" + Me.inBCFontWeight.Size = New System.Drawing.Size(46, 17) + Me.inBCFontWeight.TabIndex = 45 + Me.inBCFontWeight.Tag = "check_BCfontweight" + Me.inBCFontWeight.Text = "bold" + Me.inBCFontWeight.UseVisualStyleBackColor = True + ' + 'Label29 + ' + Me.Label29.AutoSize = True + Me.Label29.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label29.Location = New System.Drawing.Point(220, 60) + Me.Label29.Name = "Label29" + Me.Label29.Size = New System.Drawing.Size(30, 13) + Me.Label29.TabIndex = 44 + Me.Label29.Text = "Size:" + ' + 'inBCFontSize + ' + Me.inBCFontSize.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inBCFontSize.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inBCFontSize.Location = New System.Drawing.Point(256, 60) + Me.inBCFontSize.Name = "inBCFontSize" + Me.inBCFontSize.Size = New System.Drawing.Size(32, 13) + Me.inBCFontSize.TabIndex = 43 + Me.inBCFontSize.Tag = "text_BCfontsize" + Me.inBCFontSize.Text = "13" + ' + 'inBCFontName + ' + Me.inBCFontName.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inBCFontName.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inBCFontName.Location = New System.Drawing.Point(76, 60) + Me.inBCFontName.Name = "inBCFontName" + Me.inBCFontName.Size = New System.Drawing.Size(140, 13) + Me.inBCFontName.TabIndex = 42 + Me.inBCFontName.Tag = "text_BCfontname" + Me.inBCFontName.Text = "Please select barcode font" + ' + 'SheetSettings + ' + Me.SheetSettings.Controls.Add(Me.Label121) + Me.SheetSettings.Controls.Add(Me.inUnits2) + Me.SheetSettings.Controls.Add(Me.Label11) + Me.SheetSettings.Controls.Add(Me.inStartCol) + Me.SheetSettings.Controls.Add(Me.inStartRow) + Me.SheetSettings.Controls.Add(Me.Label31) + Me.SheetSettings.Controls.Add(Me.Label32) + Me.SheetSettings.Controls.Add(Me.batchEntries) + Me.SheetSettings.Controls.Add(Me.Label43) + Me.SheetSettings.Controls.Add(Me.batchNumber) + Me.SheetSettings.Controls.Add(Me.batchPreview) + Me.SheetSettings.Controls.Add(Me.Button2) + Me.SheetSettings.Controls.Add(Me.btnPrintBatch) + Me.SheetSettings.Controls.Add(Me.Label42) + Me.SheetSettings.Controls.Add(Me.inGapHeight) + Me.SheetSettings.Controls.Add(Me.inGapWidth) + Me.SheetSettings.Controls.Add(Me.inLabelHeight) + Me.SheetSettings.Controls.Add(Me.inLabelWidth) + Me.SheetSettings.Controls.Add(Me.inLabelCols) + Me.SheetSettings.Controls.Add(Me.inLabelRows) + Me.SheetSettings.Controls.Add(Me.Label41) + Me.SheetSettings.Controls.Add(Me.Label40) + Me.SheetSettings.Controls.Add(Me.Label39) + Me.SheetSettings.Controls.Add(Me.Label38) + Me.SheetSettings.Controls.Add(Me.Label37) + Me.SheetSettings.Controls.Add(Me.Label36) + Me.SheetSettings.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.SheetSettings.Location = New System.Drawing.Point(4, 88) + Me.SheetSettings.Name = "SheetSettings" + Me.SheetSettings.Size = New System.Drawing.Size(368, 192) + Me.SheetSettings.TabIndex = 15 + Me.SheetSettings.Visible = False + ' + 'Label121 + ' + Me.Label121.AutoSize = True + Me.Label121.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label121.ForeColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.Label121.Location = New System.Drawing.Point(212, 12) + Me.Label121.Name = "Label121" + Me.Label121.Size = New System.Drawing.Size(18, 13) + Me.Label121.TabIndex = 36 + Me.Label121.Text = "in." + ' + 'inUnits2 + ' + Me.inUnits2.AutoSize = True + Me.inUnits2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inUnits2.ForeColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.inUnits2.Location = New System.Drawing.Point(344, 12) + Me.inUnits2.Name = "inUnits2" + Me.inUnits2.Size = New System.Drawing.Size(18, 13) + Me.inUnits2.TabIndex = 35 + Me.inUnits2.Text = "in." + ' + 'Label11 + ' + Me.Label11.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label11.Location = New System.Drawing.Point(4, 60) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(100, 16) + Me.Label11.TabIndex = 34 + Me.Label11.Text = "First label prints at:" + Me.ToolTip1.SetToolTip(Me.Label11, "For partially used label sheets, specify the first unused label.") + ' + 'inStartCol + ' + Me.inStartCol.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inStartCol.Location = New System.Drawing.Point(176, 60) + Me.inStartCol.Name = "inStartCol" + Me.inStartCol.Size = New System.Drawing.Size(20, 13) + Me.inStartCol.TabIndex = 33 + Me.inStartCol.Tag = "" + Me.inStartCol.Text = "1" + Me.inStartCol.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + Me.ToolTip1.SetToolTip(Me.inStartCol, "Column containing first unused label.") + ' + 'inStartRow + ' + Me.inStartRow.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inStartRow.Location = New System.Drawing.Point(128, 60) + Me.inStartRow.Name = "inStartRow" + Me.inStartRow.Size = New System.Drawing.Size(20, 13) + Me.inStartRow.TabIndex = 32 + Me.inStartRow.Tag = "" + Me.inStartRow.Text = "1" + Me.inStartRow.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + Me.ToolTip1.SetToolTip(Me.inStartRow, "Row containing first unused label.") + ' + 'Label31 + ' + Me.Label31.AutoSize = True + Me.Label31.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label31.Location = New System.Drawing.Point(100, 60) + Me.Label31.Name = "Label31" + Me.Label31.Size = New System.Drawing.Size(29, 13) + Me.Label31.TabIndex = 30 + Me.Label31.Text = "Row" + ' + 'Label32 + ' + Me.Label32.AutoSize = True + Me.Label32.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label32.Location = New System.Drawing.Point(148, 60) + Me.Label32.Name = "Label32" + Me.Label32.Size = New System.Drawing.Size(28, 13) + Me.Label32.TabIndex = 31 + Me.Label32.Text = ", Col" + ' + 'batchEntries + ' + Me.batchEntries.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.batchEntries.Location = New System.Drawing.Point(160, 128) + Me.batchEntries.Name = "batchEntries" + Me.batchEntries.Size = New System.Drawing.Size(42, 12) + Me.batchEntries.TabIndex = 28 + Me.batchEntries.Text = "0" + Me.batchEntries.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.ToolTip1.SetToolTip(Me.batchEntries, "The number of entries in the displayed batch") + ' + 'Label43 + ' + Me.Label43.AutoSize = True + Me.Label43.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label43.Location = New System.Drawing.Point(108, 128) + Me.Label43.Name = "Label43" + Me.Label43.Size = New System.Drawing.Size(50, 13) + Me.Label43.TabIndex = 27 + Me.Label43.Text = "Entries:" + ' + 'batchNumber + ' + Me.batchNumber.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.batchNumber.Location = New System.Drawing.Point(168, 100) + Me.batchNumber.Maximum = New Decimal(New Integer() {3, 0, 0, 0}) + Me.batchNumber.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.batchNumber.Name = "batchNumber" + Me.batchNumber.ReadOnly = True + Me.batchNumber.Size = New System.Drawing.Size(32, 22) + Me.batchNumber.TabIndex = 26 + Me.batchNumber.Tag = "numud_batchnum" + Me.ToolTip1.SetToolTip(Me.batchNumber, "The batch number (from 1 to 3) that will be stored or printed") + Me.batchNumber.Value = New Decimal(New Integer() {1, 0, 0, 0}) + ' + 'batchPreview + ' + Me.batchPreview.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(220, Byte), Integer)) + Me.batchPreview.Font = New System.Drawing.Font("Arial Narrow", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.batchPreview.Location = New System.Drawing.Point(204, 60) + Me.batchPreview.Multiline = True + Me.batchPreview.Name = "batchPreview" + Me.batchPreview.ReadOnly = True + Me.batchPreview.ScrollBars = System.Windows.Forms.ScrollBars.Vertical + Me.batchPreview.Size = New System.Drawing.Size(164, 132) + Me.batchPreview.TabIndex = 25 + Me.ToolTip1.SetToolTip(Me.batchPreview, "A list of all labels currently in the selected batch") + Me.batchPreview.WordWrap = False + ' + 'Button2 + ' + Me.Button2.BackColor = System.Drawing.Color.LightPink + Me.Button2.Location = New System.Drawing.Point(156, 168) + Me.Button2.Name = "Button2" + Me.Button2.Size = New System.Drawing.Size(44, 20) + Me.Button2.TabIndex = 23 + Me.Button2.Text = " erase" + Me.Button2.TextAlign = System.Drawing.ContentAlignment.TopCenter + Me.ToolTip1.SetToolTip(Me.Button2, "Delete all labels from the selected batch") + Me.Button2.UseVisualStyleBackColor = False + ' + 'btnPrintBatch + ' + Me.btnPrintBatch.Location = New System.Drawing.Point(4, 108) + Me.btnPrintBatch.Name = "btnPrintBatch" + Me.btnPrintBatch.Size = New System.Drawing.Size(92, 24) + Me.btnPrintBatch.TabIndex = 21 + Me.btnPrintBatch.Text = "Preview/print" + Me.ToolTip1.SetToolTip(Me.btnPrintBatch, "Preview the selected batch and optionally print to the selected printer") + Me.btnPrintBatch.UseVisualStyleBackColor = True + ' + 'Label42 + ' + Me.Label42.AutoSize = True + Me.Label42.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label42.Location = New System.Drawing.Point(108, 105) + Me.Label42.Name = "Label42" + Me.Label42.Size = New System.Drawing.Size(60, 13) + Me.Label42.TabIndex = 19 + Me.Label42.Text = "Batch #: " + ' + 'inGapHeight + ' + Me.inGapHeight.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inGapHeight.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inGapHeight.Location = New System.Drawing.Point(304, 4) + Me.inGapHeight.Name = "inGapHeight" + Me.inGapHeight.Size = New System.Drawing.Size(40, 13) + Me.inGapHeight.TabIndex = 18 + Me.inGapHeight.Tag = "text_lblgapheight" + Me.inGapHeight.Text = "0.0" + Me.ToolTip1.SetToolTip(Me.inGapHeight, "The height of the vertical gap (if any) between labels") + ' + 'inGapWidth + ' + Me.inGapWidth.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inGapWidth.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inGapWidth.Location = New System.Drawing.Point(304, 24) + Me.inGapWidth.Name = "inGapWidth" + Me.inGapWidth.Size = New System.Drawing.Size(40, 13) + Me.inGapWidth.TabIndex = 17 + Me.inGapWidth.Tag = "text_lblgapwidth" + Me.inGapWidth.Text = "0.0" + Me.ToolTip1.SetToolTip(Me.inGapWidth, "The width of the horizontal gap (if any) between labels") + ' + 'inLabelHeight + ' + Me.inLabelHeight.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inLabelHeight.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inLabelHeight.Location = New System.Drawing.Point(172, 4) + Me.inLabelHeight.Name = "inLabelHeight" + Me.inLabelHeight.Size = New System.Drawing.Size(40, 13) + Me.inLabelHeight.TabIndex = 16 + Me.inLabelHeight.Tag = "text_lblheight" + Me.inLabelHeight.Text = "1.5" + Me.ToolTip1.SetToolTip(Me.inLabelHeight, "The height of each label on the sheet") + ' + 'inLabelWidth + ' + Me.inLabelWidth.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inLabelWidth.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inLabelWidth.Location = New System.Drawing.Point(172, 24) + Me.inLabelWidth.Name = "inLabelWidth" + Me.inLabelWidth.Size = New System.Drawing.Size(40, 13) + Me.inLabelWidth.TabIndex = 15 + Me.inLabelWidth.Tag = "text_lblwidth" + Me.inLabelWidth.Text = "1.0" + Me.ToolTip1.SetToolTip(Me.inLabelWidth, "The width of each label on the sheet") + ' + 'inLabelCols + ' + Me.inLabelCols.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inLabelCols.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inLabelCols.Location = New System.Drawing.Point(72, 24) + Me.inLabelCols.Name = "inLabelCols" + Me.inLabelCols.Size = New System.Drawing.Size(28, 13) + Me.inLabelCols.TabIndex = 14 + Me.inLabelCols.Tag = "text_lblcols" + Me.inLabelCols.Text = "8" + Me.inLabelCols.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + Me.ToolTip1.SetToolTip(Me.inLabelCols, "Number of vertical columns of labels") + ' + 'inLabelRows + ' + Me.inLabelRows.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inLabelRows.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inLabelRows.Location = New System.Drawing.Point(72, 4) + Me.inLabelRows.Name = "inLabelRows" + Me.inLabelRows.Size = New System.Drawing.Size(28, 13) + Me.inLabelRows.TabIndex = 13 + Me.inLabelRows.Tag = "text_lblrows" + Me.inLabelRows.Text = "5" + Me.inLabelRows.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + Me.ToolTip1.SetToolTip(Me.inLabelRows, "Number of horizontal rows of labels") + ' + 'Label41 + ' + Me.Label41.AutoSize = True + Me.Label41.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label41.Location = New System.Drawing.Point(236, 4) + Me.Label41.Name = "Label41" + Me.Label41.Size = New System.Drawing.Size(62, 13) + Me.Label41.TabIndex = 12 + Me.Label41.Text = "Gap height:" + ' + 'Label40 + ' + Me.Label40.AutoSize = True + Me.Label40.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label40.Location = New System.Drawing.Point(104, 4) + Me.Label40.Name = "Label40" + Me.Label40.Size = New System.Drawing.Size(68, 13) + Me.Label40.TabIndex = 11 + Me.Label40.Text = "Label height:" + ' + 'Label39 + ' + Me.Label39.AutoSize = True + Me.Label39.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label39.Location = New System.Drawing.Point(32, 4) + Me.Label39.Name = "Label39" + Me.Label39.Size = New System.Drawing.Size(37, 13) + Me.Label39.TabIndex = 10 + Me.Label39.Text = "Rows:" + ' + 'Label38 + ' + Me.Label38.AutoSize = True + Me.Label38.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label38.Location = New System.Drawing.Point(240, 24) + Me.Label38.Name = "Label38" + Me.Label38.Size = New System.Drawing.Size(58, 13) + Me.Label38.TabIndex = 9 + Me.Label38.Text = "Gap width:" + ' + 'Label37 + ' + Me.Label37.AutoSize = True + Me.Label37.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label37.Location = New System.Drawing.Point(108, 24) + Me.Label37.Name = "Label37" + Me.Label37.Size = New System.Drawing.Size(64, 13) + Me.Label37.TabIndex = 8 + Me.Label37.Text = "Label width:" + ' + 'Label36 + ' + Me.Label36.AutoSize = True + Me.Label36.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label36.Location = New System.Drawing.Point(20, 24) + Me.Label36.Name = "Label36" + Me.Label36.Size = New System.Drawing.Size(50, 13) + Me.Label36.TabIndex = 7 + Me.Label36.Text = "Columns:" + ' + 'inFontWeight + ' + Me.inFontWeight.AutoSize = True + Me.inFontWeight.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inFontWeight.Location = New System.Drawing.Point(292, 40) + Me.inFontWeight.Name = "inFontWeight" + Me.inFontWeight.Size = New System.Drawing.Size(46, 17) + Me.inFontWeight.TabIndex = 12 + Me.inFontWeight.Tag = "check_fontweight" + Me.inFontWeight.Text = "bold" + Me.inFontWeight.UseVisualStyleBackColor = True + ' + 'Label23 + ' + Me.Label23.AutoSize = True + Me.Label23.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label23.Location = New System.Drawing.Point(220, 40) + Me.Label23.Name = "Label23" + Me.Label23.Size = New System.Drawing.Size(30, 13) + Me.Label23.TabIndex = 11 + Me.Label23.Text = "Size:" + ' + 'inFontSize + ' + Me.inFontSize.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inFontSize.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inFontSize.Location = New System.Drawing.Point(256, 40) + Me.inFontSize.Name = "inFontSize" + Me.inFontSize.Size = New System.Drawing.Size(32, 13) + Me.inFontSize.TabIndex = 10 + Me.inFontSize.Tag = "text_fontsize" + Me.inFontSize.Text = "10" + ' + 'FontDialogButn + ' + Me.FontDialogButn.FlatStyle = System.Windows.Forms.FlatStyle.System + Me.FontDialogButn.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.FontDialogButn.Location = New System.Drawing.Point(344, 36) + Me.FontDialogButn.Name = "FontDialogButn" + Me.FontDialogButn.Size = New System.Drawing.Size(28, 20) + Me.FontDialogButn.TabIndex = 5 + Me.FontDialogButn.Text = "..." + Me.FontDialogButn.TextAlign = System.Drawing.ContentAlignment.TopCenter + Me.ToolTip1.SetToolTip(Me.FontDialogButn, "Select a text font from a list of your installed fonts") + Me.FontDialogButn.UseVisualStyleBackColor = False + ' + 'inFontName + ' + Me.inFontName.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inFontName.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inFontName.Location = New System.Drawing.Point(76, 40) + Me.inFontName.Name = "inFontName" + Me.inFontName.Size = New System.Drawing.Size(140, 13) + Me.inFontName.TabIndex = 4 + Me.inFontName.Tag = "text_fontname" + Me.inFontName.Text = "Microsoft Sans Serif" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label3.Location = New System.Drawing.Point(24, 40) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(52, 13) + Me.Label3.TabIndex = 3 + Me.Label3.Text = "Text font:" + ' + 'PrinterDialogButn + ' + Me.PrinterDialogButn.FlatStyle = System.Windows.Forms.FlatStyle.System + Me.PrinterDialogButn.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.PrinterDialogButn.ImageAlign = System.Drawing.ContentAlignment.TopCenter + Me.PrinterDialogButn.Location = New System.Drawing.Point(344, 16) + Me.PrinterDialogButn.Margin = New System.Windows.Forms.Padding(0) + Me.PrinterDialogButn.Name = "PrinterDialogButn" + Me.PrinterDialogButn.Size = New System.Drawing.Size(28, 20) + Me.PrinterDialogButn.TabIndex = 2 + Me.PrinterDialogButn.Text = "..." + Me.PrinterDialogButn.TextAlign = System.Drawing.ContentAlignment.TopCenter + Me.PrinterDialogButn.TextImageRelation = System.Windows.Forms.TextImageRelation.TextAboveImage + Me.ToolTip1.SetToolTip(Me.PrinterDialogButn, "Select a printer from a list of your available printers") + Me.PrinterDialogButn.UseVisualStyleBackColor = False + ' + 'inPrinterName + ' + Me.inPrinterName.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inPrinterName.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inPrinterName.Location = New System.Drawing.Point(76, 20) + Me.inPrinterName.Name = "inPrinterName" + Me.inPrinterName.Size = New System.Drawing.Size(260, 13) + Me.inPrinterName.TabIndex = 1 + Me.inPrinterName.Tag = "text_printername" + Me.inPrinterName.Text = "Please select printer" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label2.Location = New System.Drawing.Point(36, 20) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(40, 13) + Me.Label2.TabIndex = 0 + Me.Label2.Text = "Printer:" + ' + 'Label15 + ' + Me.Label15.AutoSize = True + Me.Label15.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label15.Location = New System.Drawing.Point(412, 212) + Me.Label15.Name = "Label15" + Me.Label15.Size = New System.Drawing.Size(62, 13) + Me.Label15.TabIndex = 21 + Me.Label15.Text = "Lines/label:" + ' + 'TabPage2 + ' + Me.TabPage2.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.TabPage2.Controls.Add(Me.PocketLabelPanel) + Me.TabPage2.Controls.Add(Me.tweakParsingPanel) + Me.TabPage2.Controls.Add(Me.showFormatInfo) + Me.TabPage2.Controls.Add(Me.FTPwarning2) + Me.TabPage2.Controls.Add(Me.Label91) + Me.TabPage2.Controls.Add(Me.chkUsePocketLabels) + Me.TabPage2.Controls.Add(Me.nonFlagWrapWidth) + Me.TabPage2.Controls.Add(Me.flagWrapWidth) + Me.TabPage2.Controls.Add(Me.nonFlagDefaults) + Me.TabPage2.Controls.Add(Me.flagDefaults) + Me.TabPage2.Controls.Add(Me.GroupBox1) + Me.TabPage2.Controls.Add(Me.FlagSlips) + Me.TabPage2.Controls.Add(Me.Label33) + Me.TabPage2.Controls.Add(Me.Label28) + Me.TabPage2.Controls.Add(Me.Spine) + Me.TabPage2.Controls.Add(Me.CustomLabel) + Me.TabPage2.Controls.Add(Me.CustomText) + Me.TabPage2.Controls.Add(Me.formatInfoPanel) + Me.TabPage2.Controls.Add(Me.spineDefaults) + Me.TabPage2.Controls.Add(Me.pocketDefaults) + Me.TabPage2.Location = New System.Drawing.Point(4, 22) + Me.TabPage2.Name = "TabPage2" + Me.TabPage2.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage2.Size = New System.Drawing.Size(528, 330) + Me.TabPage2.TabIndex = 1 + Me.TabPage2.Tag = "" + Me.TabPage2.Text = "Call Number Format" + ' + 'PocketLabelPanel + ' + Me.PocketLabelPanel.BackColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.PocketLabelPanel.Controls.Add(Me.plUnits2) + Me.PocketLabelPanel.Controls.Add(Me.plUnits1) + Me.PocketLabelPanel.Controls.Add(Me.userDefinedPanel) + Me.PocketLabelPanel.Controls.Add(Me.spineType) + Me.PocketLabelPanel.Controls.Add(Me.Label106) + Me.PocketLabelPanel.Controls.Add(Me.Label105) + Me.PocketLabelPanel.Controls.Add(Me.Label104) + Me.PocketLabelPanel.Controls.Add(Me.Label101) + Me.PocketLabelPanel.Controls.Add(Me.Label100) + Me.PocketLabelPanel.Controls.Add(Me.Label94) + Me.PocketLabelPanel.Controls.Add(Me.btnSL6) + Me.PocketLabelPanel.Controls.Add(Me.btnSL4) + Me.PocketLabelPanel.Controls.Add(Me.btnSLB) + Me.PocketLabelPanel.Controls.Add(Me.Label103) + Me.PocketLabelPanel.Controls.Add(Me.Label102) + Me.PocketLabelPanel.Controls.Add(Me.plLeftMargin) + Me.PocketLabelPanel.Controls.Add(Me.PLcount) + Me.PocketLabelPanel.Controls.Add(Me.plDistance) + Me.PocketLabelPanel.Controls.Add(Me.Label99) + Me.PocketLabelPanel.Controls.Add(Me.Label98) + Me.PocketLabelPanel.Controls.Add(Me.plWork) + Me.PocketLabelPanel.Controls.Add(Me.Label97) + Me.PocketLabelPanel.Controls.Add(Me.btnPlCustom) + Me.PocketLabelPanel.Controls.Add(Me.plOutput) + Me.PocketLabelPanel.Controls.Add(Me.Label88) + Me.PocketLabelPanel.Location = New System.Drawing.Point(4, -8) + Me.PocketLabelPanel.Name = "PocketLabelPanel" + Me.PocketLabelPanel.Size = New System.Drawing.Size(512, 316) + Me.PocketLabelPanel.TabIndex = 60 + Me.PocketLabelPanel.Visible = False + ' + 'plUnits2 + ' + Me.plUnits2.AutoSize = True + Me.plUnits2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.plUnits2.ForeColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.plUnits2.Location = New System.Drawing.Point(240, 84) + Me.plUnits2.Name = "plUnits2" + Me.plUnits2.Size = New System.Drawing.Size(18, 13) + Me.plUnits2.TabIndex = 80 + Me.plUnits2.Text = "in." + ' + 'plUnits1 + ' + Me.plUnits1.AutoSize = True + Me.plUnits1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.plUnits1.ForeColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.plUnits1.Location = New System.Drawing.Point(240, 48) + Me.plUnits1.Name = "plUnits1" + Me.plUnits1.Size = New System.Drawing.Size(18, 13) + Me.plUnits1.TabIndex = 79 + Me.plUnits1.Text = "in." + ' + 'userDefinedPanel + ' + Me.userDefinedPanel.Controls.Add(Me.Label96) + Me.userDefinedPanel.Controls.Add(Me.plMax4) + Me.userDefinedPanel.Controls.Add(Me.plMax3) + Me.userDefinedPanel.Controls.Add(Me.plMax2) + Me.userDefinedPanel.Controls.Add(Me.plMax1) + Me.userDefinedPanel.Controls.Add(Me.Label95) + Me.userDefinedPanel.Controls.Add(Me.plMin4) + Me.userDefinedPanel.Controls.Add(Me.plMin3) + Me.userDefinedPanel.Controls.Add(Me.plMin2) + Me.userDefinedPanel.Controls.Add(Me.plMin1) + Me.userDefinedPanel.Controls.Add(Me.Label93) + Me.userDefinedPanel.Controls.Add(Me.Label92) + Me.userDefinedPanel.Controls.Add(Me.plSrc4) + Me.userDefinedPanel.Controls.Add(Me.plSrc3) + Me.userDefinedPanel.Controls.Add(Me.plSrc2) + Me.userDefinedPanel.Controls.Add(Me.plSrc1) + Me.userDefinedPanel.Location = New System.Drawing.Point(264, 184) + Me.userDefinedPanel.Name = "userDefinedPanel" + Me.userDefinedPanel.Size = New System.Drawing.Size(244, 112) + Me.userDefinedPanel.TabIndex = 78 + ' + 'Label96 + ' + Me.Label96.AutoSize = True + Me.Label96.Location = New System.Drawing.Point(100, 2) + Me.Label96.Name = "Label96" + Me.Label96.Size = New System.Drawing.Size(83, 13) + Me.Label96.TabIndex = 53 + Me.Label96.Text = "Number of lines:" + ' + 'plMax4 + ' + Me.plMax4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.plMax4.Location = New System.Drawing.Point(216, 90) + Me.plMax4.Name = "plMax4" + Me.plMax4.Size = New System.Drawing.Size(20, 20) + Me.plMax4.TabIndex = 51 + Me.plMax4.Tag = "text_plmax4" + Me.plMax4.Text = "0" + Me.ToolTip1.SetToolTip(Me.plMax4, "Enter the maximum number of lines that should print for this XML field.") + ' + 'plMax3 + ' + Me.plMax3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.plMax3.Location = New System.Drawing.Point(216, 66) + Me.plMax3.Name = "plMax3" + Me.plMax3.Size = New System.Drawing.Size(20, 20) + Me.plMax3.TabIndex = 44 + Me.plMax3.Tag = "text_plmax3" + Me.plMax3.Text = "0" + Me.ToolTip1.SetToolTip(Me.plMax3, "Enter the maximum number of lines that should print for this XML field.") + ' + 'plMax2 + ' + Me.plMax2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.plMax2.Location = New System.Drawing.Point(216, 42) + Me.plMax2.Name = "plMax2" + Me.plMax2.Size = New System.Drawing.Size(20, 20) + Me.plMax2.TabIndex = 41 + Me.plMax2.Tag = "text_plmax2" + Me.plMax2.Text = "0" + Me.ToolTip1.SetToolTip(Me.plMax2, "Enter the maximum number of lines that should print for this XML field.") + ' + 'plMax1 + ' + Me.plMax1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.plMax1.Location = New System.Drawing.Point(216, 18) + Me.plMax1.Name = "plMax1" + Me.plMax1.Size = New System.Drawing.Size(20, 20) + Me.plMax1.TabIndex = 38 + Me.plMax1.Tag = "text_plmax1" + Me.plMax1.Text = "0" + Me.ToolTip1.SetToolTip(Me.plMax1, "Enter the maximum number of lines that should print for this XML field.") + ' + 'Label95 + ' + Me.Label95.AutoSize = True + Me.Label95.Location = New System.Drawing.Point(212, 2) + Me.Label95.Name = "Label95" + Me.Label95.Size = New System.Drawing.Size(29, 13) + Me.Label95.TabIndex = 48 + Me.Label95.Text = "max." + ' + 'plMin4 + ' + Me.plMin4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.plMin4.Location = New System.Drawing.Point(188, 90) + Me.plMin4.Name = "plMin4" + Me.plMin4.Size = New System.Drawing.Size(20, 20) + Me.plMin4.TabIndex = 50 + Me.plMin4.Tag = "text_plmin4" + Me.plMin4.Text = "0" + Me.ToolTip1.SetToolTip(Me.plMin4, "Enter a number of 0 or more lines to print for the XML field.") + ' + 'plMin3 + ' + Me.plMin3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.plMin3.Location = New System.Drawing.Point(188, 66) + Me.plMin3.Name = "plMin3" + Me.plMin3.Size = New System.Drawing.Size(20, 20) + Me.plMin3.TabIndex = 43 + Me.plMin3.Tag = "text_plmin3" + Me.plMin3.Text = "0" + Me.ToolTip1.SetToolTip(Me.plMin3, "Enter a number of 0 or more lines to print for the XML field.") + ' + 'plMin2 + ' + Me.plMin2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.plMin2.Location = New System.Drawing.Point(188, 42) + Me.plMin2.Name = "plMin2" + Me.plMin2.Size = New System.Drawing.Size(20, 20) + Me.plMin2.TabIndex = 40 + Me.plMin2.Tag = "text_plmin2" + Me.plMin2.Text = "0" + Me.ToolTip1.SetToolTip(Me.plMin2, "Enter a number of 0 or more lines to print for the XML field.") + ' + 'plMin1 + ' + Me.plMin1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.plMin1.Location = New System.Drawing.Point(188, 18) + Me.plMin1.Name = "plMin1" + Me.plMin1.Size = New System.Drawing.Size(20, 20) + Me.plMin1.TabIndex = 37 + Me.plMin1.Tag = "text_plmin1" + Me.plMin1.Text = "0" + Me.ToolTip1.SetToolTip(Me.plMin1, "Enter a number of 0 or more lines to print for the XML field.") + ' + 'Label93 + ' + Me.Label93.AutoSize = True + Me.Label93.Location = New System.Drawing.Point(8, 2) + Me.Label93.Name = "Label93" + Me.Label93.Size = New System.Drawing.Size(71, 13) + Me.Label93.TabIndex = 41 + Me.Label93.Text = "XML Sources" + ' + 'Label92 + ' + Me.Label92.AutoSize = True + Me.Label92.Location = New System.Drawing.Point(185, 2) + Me.Label92.Name = "Label92" + Me.Label92.Size = New System.Drawing.Size(26, 13) + Me.Label92.TabIndex = 40 + Me.Label92.Text = "min." + ' + 'plSrc4 + ' + Me.plSrc4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.plSrc4.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.plSrc4.Location = New System.Drawing.Point(8, 90) + Me.plSrc4.Name = "plSrc4" + Me.plSrc4.Size = New System.Drawing.Size(172, 20) + Me.plSrc4.TabIndex = 45 + Me.plSrc4.Tag = "text_plsource4" + Me.ToolTip1.SetToolTip(Me.plSrc4, "Enter an XML field to include on the pocket label, or doubleclick to select an XM" & _ + "L field.") + ' + 'plSrc3 + ' + Me.plSrc3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.plSrc3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.plSrc3.Location = New System.Drawing.Point(8, 66) + Me.plSrc3.Name = "plSrc3" + Me.plSrc3.Size = New System.Drawing.Size(172, 20) + Me.plSrc3.TabIndex = 42 + Me.plSrc3.Tag = "text_plsource3" + Me.ToolTip1.SetToolTip(Me.plSrc3, "Enter an XML field to include on the pocket label, or doubleclick to select an XM" & _ + "L field.") + ' + 'plSrc2 + ' + Me.plSrc2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.plSrc2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.plSrc2.Location = New System.Drawing.Point(8, 42) + Me.plSrc2.Name = "plSrc2" + Me.plSrc2.Size = New System.Drawing.Size(172, 20) + Me.plSrc2.TabIndex = 39 + Me.plSrc2.Tag = "text_plsource2" + Me.ToolTip1.SetToolTip(Me.plSrc2, "Enter an XML field to include on the pocket label, or doubleclick to select an XM" & _ + "L field.") + ' + 'plSrc1 + ' + Me.plSrc1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.plSrc1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.plSrc1.Location = New System.Drawing.Point(8, 18) + Me.plSrc1.Name = "plSrc1" + Me.plSrc1.Size = New System.Drawing.Size(172, 20) + Me.plSrc1.TabIndex = 36 + Me.plSrc1.Tag = "text_plsource1" + Me.ToolTip1.SetToolTip(Me.plSrc1, "Enter an XML field to include on the pocket label, or doubleclick to select an XM" & _ + "L field.") + ' + 'spineType + ' + Me.spineType.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.spineType.ForeColor = System.Drawing.Color.Blue + Me.spineType.Location = New System.Drawing.Point(332, 21) + Me.spineType.Name = "spineType" + Me.spineType.Size = New System.Drawing.Size(188, 15) + Me.spineType.TabIndex = 77 + Me.ToolTip1.SetToolTip(Me.spineType, "The spine label portion of the pocket label set will depend on the Label Type sel" & _ + "ected in the Call Number Format panel.") + ' + 'Label106 + ' + Me.Label106.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label106.Location = New System.Drawing.Point(264, 144) + Me.Label106.Name = "Label106" + Me.Label106.Size = New System.Drawing.Size(140, 16) + Me.Label106.TabIndex = 76 + Me.Label106.Text = "User-defined format" + ' + 'Label105 + ' + Me.Label105.AutoSize = True + Me.Label105.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label105.Location = New System.Drawing.Point(384, 56) + Me.Label105.Name = "Label105" + Me.Label105.Size = New System.Drawing.Size(131, 13) + Me.Label105.TabIndex = 75 + Me.Label105.Text = "(Call number, Author, Title)" + ' + 'Label104 + ' + Me.Label104.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label104.Location = New System.Drawing.Point(264, 56) + Me.Label104.Name = "Label104" + Me.Label104.Size = New System.Drawing.Size(120, 16) + Me.Label104.TabIndex = 74 + Me.Label104.Text = "Standard Formats" + Me.ToolTip1.SetToolTip(Me.Label104, "Create OCLC standard labels with Call Number, Author and Title.") + ' + 'Label101 + ' + Me.Label101.AutoSize = True + Me.Label101.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label101.Location = New System.Drawing.Point(420, 118) + Me.Label101.Name = "Label101" + Me.Label101.Size = New System.Drawing.Size(85, 13) + Me.Label101.TabIndex = 73 + Me.Label101.Text = "(Double spaced)" + ' + 'Label100 + ' + Me.Label100.AutoSize = True + Me.Label100.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label100.Location = New System.Drawing.Point(420, 98) + Me.Label100.Name = "Label100" + Me.Label100.Size = New System.Drawing.Size(80, 13) + Me.Label100.TabIndex = 72 + Me.Label100.Text = "(Single spaced)" + ' + 'Label94 + ' + Me.Label94.AutoSize = True + Me.Label94.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label94.Location = New System.Drawing.Point(420, 78) + Me.Label94.Name = "Label94" + Me.Label94.Size = New System.Drawing.Size(80, 13) + Me.Label94.TabIndex = 71 + Me.Label94.Text = "(Single spaced)" + ' + 'btnSL6 + ' + Me.btnSL6.AutoSize = True + Me.btnSL6.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnSL6.Location = New System.Drawing.Point(272, 116) + Me.btnSL6.Name = "btnSL6" + Me.btnSL6.Size = New System.Drawing.Size(146, 17) + Me.btnSL6.TabIndex = 70 + Me.btnSL6.Tag = "radio_SL6" + Me.btnSL6.Text = "SL6 - 2 pocket labels" + Me.ToolTip1.SetToolTip(Me.btnSL6, "Print spine label and two pocket labels, with double spacing.") + Me.btnSL6.UseVisualStyleBackColor = True + ' + 'btnSL4 + ' + Me.btnSL4.AutoSize = True + Me.btnSL4.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnSL4.Location = New System.Drawing.Point(272, 96) + Me.btnSL4.Name = "btnSL4" + Me.btnSL4.Size = New System.Drawing.Size(146, 17) + Me.btnSL4.TabIndex = 69 + Me.btnSL4.Tag = "radio_SL4" + Me.btnSL4.Text = "SL4 - 2 pocket labels" + Me.ToolTip1.SetToolTip(Me.btnSL4, "Prints spine label and two pocket labels, with minimum line spacing.") + Me.btnSL4.UseVisualStyleBackColor = True + ' + 'btnSLB + ' + Me.btnSLB.AutoSize = True + Me.btnSLB.Checked = True + Me.btnSLB.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnSLB.Location = New System.Drawing.Point(272, 76) + Me.btnSLB.Name = "btnSLB" + Me.btnSLB.Size = New System.Drawing.Size(141, 17) + Me.btnSLB.TabIndex = 68 + Me.btnSLB.TabStop = True + Me.btnSLB.Tag = "radio_plSLB" + Me.btnSLB.Text = "SLB - 1 pocket label" + Me.ToolTip1.SetToolTip(Me.btnSLB, "Prints spine label and one pocket label, minimum line spacing.") + Me.btnSLB.UseVisualStyleBackColor = True + ' + 'Label103 + ' + Me.Label103.Location = New System.Drawing.Point(60, 84) + Me.Label103.Name = "Label103" + Me.Label103.Size = New System.Drawing.Size(140, 20) + Me.Label103.TabIndex = 67 + Me.Label103.Text = "Distance between top lines:" + ' + 'Label102 + ' + Me.Label102.AutoSize = True + Me.Label102.Location = New System.Drawing.Point(16, 48) + Me.Label102.Name = "Label102" + Me.Label102.Size = New System.Drawing.Size(186, 13) + Me.Label102.TabIndex = 66 + Me.Label102.Text = "Pocket label distance from left margin:" + ' + 'plLeftMargin + ' + Me.plLeftMargin.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.plLeftMargin.Location = New System.Drawing.Point(204, 48) + Me.plLeftMargin.Name = "plLeftMargin" + Me.plLeftMargin.Size = New System.Drawing.Size(36, 13) + Me.plLeftMargin.TabIndex = 65 + Me.plLeftMargin.Tag = "text_plLeftmargin" + Me.plLeftMargin.Text = "1.2" + Me.ToolTip1.SetToolTip(Me.plLeftMargin, "Horizontal distance from the left print margin to the pocket label.") + ' + 'PLcount + ' + Me.PLcount.BackColor = System.Drawing.Color.White + Me.PLcount.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.PLcount.ForeColor = System.Drawing.Color.Black + Me.PLcount.Location = New System.Drawing.Point(352, 160) + Me.PLcount.Maximum = New Decimal(New Integer() {2, 0, 0, 0}) + Me.PLcount.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.PLcount.Name = "PLcount" + Me.PLcount.ReadOnly = True + Me.PLcount.Size = New System.Drawing.Size(36, 22) + Me.PLcount.TabIndex = 55 + Me.PLcount.TabStop = False + Me.PLcount.Tag = "numud_pocketlabelcount" + Me.PLcount.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.ToolTip1.SetToolTip(Me.PLcount, "Select 1 or 2 pocket labels") + Me.PLcount.Value = New Decimal(New Integer() {1, 0, 0, 0}) + ' + 'plDistance + ' + Me.plDistance.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.plDistance.Location = New System.Drawing.Point(204, 84) + Me.plDistance.Name = "plDistance" + Me.plDistance.Size = New System.Drawing.Size(36, 13) + Me.plDistance.TabIndex = 61 + Me.plDistance.Tag = "text_pldistance" + Me.plDistance.Text = "0.0" + Me.ToolTip1.SetToolTip(Me.plDistance, "Vertical distance from top line of 1st pocket label to top line of the 2nd.") + ' + 'Label99 + ' + Me.Label99.Location = New System.Drawing.Point(16, 68) + Me.Label99.Name = "Label99" + Me.Label99.Size = New System.Drawing.Size(116, 20) + Me.Label99.TabIndex = 60 + Me.Label99.Text = "For two pocket labels:" + ' + 'Label98 + ' + Me.Label98.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label98.Location = New System.Drawing.Point(16, 21) + Me.Label98.Name = "Label98" + Me.Label98.Size = New System.Drawing.Size(320, 15) + Me.Label98.TabIndex = 59 + Me.Label98.Text = "One spine label will be created using call number format :" + ' + 'plWork + ' + Me.plWork.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.plWork.Location = New System.Drawing.Point(8, 96) + Me.plWork.Multiline = True + Me.plWork.Name = "plWork" + Me.plWork.Size = New System.Drawing.Size(20, 12) + Me.plWork.TabIndex = 58 + Me.plWork.Visible = False + Me.plWork.WordWrap = False + ' + 'Label97 + ' + Me.Label97.AutoSize = True + Me.Label97.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label97.Location = New System.Drawing.Point(392, 164) + Me.Label97.Name = "Label97" + Me.Label97.Size = New System.Drawing.Size(91, 13) + Me.Label97.TabIndex = 57 + Me.Label97.Text = "pocket label(s)" + ' + 'btnPlCustom + ' + Me.btnPlCustom.AutoSize = True + Me.btnPlCustom.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnPlCustom.Location = New System.Drawing.Point(272, 162) + Me.btnPlCustom.Name = "btnPlCustom" + Me.btnPlCustom.Size = New System.Drawing.Size(74, 17) + Me.btnPlCustom.TabIndex = 35 + Me.btnPlCustom.Tag = "radio_SLCUSTOM" + Me.btnPlCustom.Text = "Custom -" + Me.ToolTip1.SetToolTip(Me.btnPlCustom, "Specify fields and line spacing to create a custom pocket label.") + Me.btnPlCustom.UseVisualStyleBackColor = True + ' + 'plOutput + ' + Me.plOutput.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.plOutput.Font = New System.Drawing.Font("Century Gothic", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.plOutput.Location = New System.Drawing.Point(0, 108) + Me.plOutput.Multiline = True + Me.plOutput.Name = "plOutput" + Me.plOutput.Size = New System.Drawing.Size(256, 188) + Me.plOutput.TabIndex = 31 + Me.plOutput.TabStop = False + Me.ToolTip1.SetToolTip(Me.plOutput, "Output box where the pocket label can be displayed or edited.") + Me.plOutput.WordWrap = False + ' + 'Label88 + ' + Me.Label88.AutoSize = True + Me.Label88.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label88.Location = New System.Drawing.Point(4, 4) + Me.Label88.Name = "Label88" + Me.Label88.Size = New System.Drawing.Size(134, 16) + Me.Label88.TabIndex = 30 + Me.Label88.Text = "Pocket Label Sets" + ' + 'tweakParsingPanel + ' + Me.tweakParsingPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.tweakParsingPanel.Controls.Add(Me.convertBlankTo) + Me.tweakParsingPanel.Controls.Add(Me.Label65) + Me.tweakParsingPanel.Controls.Add(Me.TabControl2) + Me.tweakParsingPanel.Controls.Add(Me.Label73) + Me.tweakParsingPanel.Controls.Add(Me.Label71) + Me.tweakParsingPanel.Controls.Add(Me.GroupBox2) + Me.tweakParsingPanel.Location = New System.Drawing.Point(4, 124) + Me.tweakParsingPanel.Name = "tweakParsingPanel" + Me.tweakParsingPanel.Size = New System.Drawing.Size(28, 180) + Me.tweakParsingPanel.TabIndex = 50 + Me.tweakParsingPanel.Visible = False + ' + 'convertBlankTo + ' + Me.convertBlankTo.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.convertBlankTo.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.convertBlankTo.Location = New System.Drawing.Point(320, 228) + Me.convertBlankTo.Name = "convertBlankTo" + Me.convertBlankTo.Size = New System.Drawing.Size(20, 13) + Me.convertBlankTo.TabIndex = 43 + Me.convertBlankTo.Tag = "text_convertblankcntype" + Me.convertBlankTo.Text = "0" + Me.convertBlankTo.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + ' + 'Label65 + ' + Me.Label65.AutoSize = True + Me.Label65.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label65.Location = New System.Drawing.Point(16, 228) + Me.Label65.Name = "Label65" + Me.Label65.Size = New System.Drawing.Size(304, 13) + Me.Label65.TabIndex = 42 + Me.Label65.Text = "If the incoming is blank, convert it to type: " + ' + 'TabControl2 + ' + Me.TabControl2.Controls.Add(Me.TabPage7) + Me.TabControl2.Controls.Add(Me.TabPage8) + Me.TabControl2.Controls.Add(Me.TabPage10) + Me.TabControl2.Controls.Add(Me.TabPage11) + Me.TabControl2.Controls.Add(Me.TabPage9) + Me.TabControl2.Location = New System.Drawing.Point(8, 20) + Me.TabControl2.Name = "TabControl2" + Me.TabControl2.SelectedIndex = 0 + Me.TabControl2.Size = New System.Drawing.Size(504, 204) + Me.TabControl2.TabIndex = 40 + ' + 'TabPage7 + ' + Me.TabPage7.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.TabPage7.Controls.Add(Me.hideCutterDecimal) + Me.TabPage7.Controls.Add(Me.lcType) + Me.TabPage7.Controls.Add(Me.Label107) + Me.TabPage7.Controls.Add(Me.lcRemoveAfter) + Me.TabPage7.Controls.Add(Me.lcBreak) + Me.TabPage7.Controls.Add(Me.Panel6) + Me.TabPage7.Controls.Add(Me.Panel8) + Me.TabPage7.Controls.Add(Me.Panel7) + Me.TabPage7.Controls.Add(Me.Panel5) + Me.TabPage7.Controls.Add(Me.lcNumericBreak) + Me.TabPage7.Controls.Add(Me.lcNoNumericBreak) + Me.TabPage7.Controls.Add(Me.Label66) + Me.TabPage7.Location = New System.Drawing.Point(4, 22) + Me.TabPage7.Name = "TabPage7" + Me.TabPage7.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage7.Size = New System.Drawing.Size(496, 178) + Me.TabPage7.TabIndex = 0 + Me.TabPage7.Text = "LC/Child.Lit/NLM" + ' + 'hideCutterDecimal + ' + Me.hideCutterDecimal.AutoSize = True + Me.hideCutterDecimal.Location = New System.Drawing.Point(324, 72) + Me.hideCutterDecimal.Name = "hideCutterDecimal" + Me.hideCutterDecimal.Size = New System.Drawing.Size(117, 17) + Me.hideCutterDecimal.TabIndex = 26 + Me.hideCutterDecimal.Tag = "check_hidecutterdecimal" + Me.hideCutterDecimal.Text = "Hide cutter decimal" + Me.ToolTip1.SetToolTip(Me.hideCutterDecimal, "Hides the decimal that precedes the cutter.") + Me.hideCutterDecimal.UseVisualStyleBackColor = True + ' + 'lcType + ' + Me.lcType.BackColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.lcType.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.lcType.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lcType.Location = New System.Drawing.Point(176, 4) + Me.lcType.Name = "lcType" + Me.lcType.Size = New System.Drawing.Size(48, 13) + Me.lcType.TabIndex = 25 + Me.lcType.Tag = "text_lctype" + Me.lcType.Text = "0,2" + Me.ToolTip1.SetToolTip(Me.lcType, "One or more call number types (separated by commas) that will be handled by this " & _ + "parsing routine.") + ' + 'Label107 + ' + Me.Label107.AutoSize = True + Me.Label107.ForeColor = System.Drawing.Color.Blue + Me.Label107.Location = New System.Drawing.Point(20, 4) + Me.Label107.Name = "Label107" + Me.Label107.Size = New System.Drawing.Size(150, 13) + Me.Label107.TabIndex = 24 + Me.Label107.Text = "Handles Call Number Type(s): " + ' + 'lcRemoveAfter + ' + Me.lcRemoveAfter.AutoSize = True + Me.lcRemoveAfter.Location = New System.Drawing.Point(200, 140) + Me.lcRemoveAfter.Name = "lcRemoveAfter" + Me.lcRemoveAfter.Size = New System.Drawing.Size(205, 17) + Me.lcRemoveAfter.TabIndex = 23 + Me.lcRemoveAfter.Tag = "check_lcremoveafter" + Me.lcRemoveAfter.Text = "Remove character(s) from call number" + Me.lcRemoveAfter.UseVisualStyleBackColor = True + ' + 'lcBreak + ' + Me.lcBreak.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(220, Byte), Integer)) + Me.lcBreak.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lcBreak.Location = New System.Drawing.Point(408, 108) + Me.lcBreak.Multiline = True + Me.lcBreak.Name = "lcBreak" + Me.lcBreak.ScrollBars = System.Windows.Forms.ScrollBars.Vertical + Me.lcBreak.Size = New System.Drawing.Size(84, 68) + Me.lcBreak.TabIndex = 22 + Me.lcBreak.Tag = "text_lcbreak" + Me.ToolTip1.SetToolTip(Me.lcBreak, "One or more characters or phrases that will cause a line break.") + ' + 'Panel6 + ' + Me.Panel6.Controls.Add(Me.lcOtherBreakAft) + Me.Panel6.Controls.Add(Me.Label78) + Me.Panel6.Controls.Add(Me.lcOtherBreakB4) + Me.Panel6.Controls.Add(Me.lcOtherNoBreak) + Me.Panel6.Location = New System.Drawing.Point(36, 116) + Me.Panel6.Name = "Panel6" + Me.Panel6.Size = New System.Drawing.Size(372, 24) + Me.Panel6.TabIndex = 17 + ' + 'lcOtherBreakAft + ' + Me.lcOtherBreakAft.AutoSize = True + Me.lcOtherBreakAft.Location = New System.Drawing.Point(260, 4) + Me.lcOtherBreakAft.Name = "lcOtherBreakAft" + Me.lcOtherBreakAft.Size = New System.Drawing.Size(108, 17) + Me.lcOtherBreakAft.TabIndex = 14 + Me.lcOtherBreakAft.Tag = "radio_lcotherbreakaft" + Me.lcOtherBreakAft.Text = "after character(s):" + Me.lcOtherBreakAft.UseVisualStyleBackColor = True + ' + 'Label78 + ' + Me.Label78.AutoSize = True + Me.Label78.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label78.Location = New System.Drawing.Point(40, 8) + Me.Label78.Name = "Label78" + Me.Label78.Size = New System.Drawing.Size(42, 13) + Me.Label78.TabIndex = 9 + Me.Label78.Text = "Other:" + ' + 'lcOtherBreakB4 + ' + Me.lcOtherBreakB4.AutoSize = True + Me.lcOtherBreakB4.Location = New System.Drawing.Point(164, 4) + Me.lcOtherBreakB4.Name = "lcOtherBreakB4" + Me.lcOtherBreakB4.Size = New System.Drawing.Size(98, 17) + Me.lcOtherBreakB4.TabIndex = 13 + Me.lcOtherBreakB4.Tag = "radio_lcotherbreakb4" + Me.lcOtherBreakB4.Text = "Break before or" + Me.lcOtherBreakB4.UseVisualStyleBackColor = True + ' + 'lcOtherNoBreak + ' + Me.lcOtherNoBreak.AutoSize = True + Me.lcOtherNoBreak.Checked = True + Me.lcOtherNoBreak.Location = New System.Drawing.Point(88, 4) + Me.lcOtherNoBreak.Name = "lcOtherNoBreak" + Me.lcOtherNoBreak.Size = New System.Drawing.Size(69, 17) + Me.lcOtherNoBreak.TabIndex = 12 + Me.lcOtherNoBreak.TabStop = True + Me.lcOtherNoBreak.Tag = "radio_lcothernobreak" + Me.lcOtherNoBreak.Text = "No break" + Me.lcOtherNoBreak.UseVisualStyleBackColor = True + ' + 'Panel8 + ' + Me.Panel8.Controls.Add(Me.Label76) + Me.Panel8.Controls.Add(Me.lcInCutterBreak) + Me.Panel8.Controls.Add(Me.lcIncutternobreak) + Me.Panel8.Location = New System.Drawing.Point(36, 92) + Me.Panel8.Name = "Panel8" + Me.Panel8.Size = New System.Drawing.Size(312, 24) + Me.Panel8.TabIndex = 16 + ' + 'Label76 + ' + Me.Label76.AutoSize = True + Me.Label76.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label76.Location = New System.Drawing.Point(21, 8) + Me.Label76.Name = "Label76" + Me.Label76.Size = New System.Drawing.Size(60, 13) + Me.Label76.TabIndex = 9 + Me.Label76.Text = "In Cutter:" + ' + 'lcInCutterBreak + ' + Me.lcInCutterBreak.AutoSize = True + Me.lcInCutterBreak.Checked = True + Me.lcInCutterBreak.Location = New System.Drawing.Point(164, 4) + Me.lcInCutterBreak.Name = "lcInCutterBreak" + Me.lcInCutterBreak.Size = New System.Drawing.Size(135, 17) + Me.lcInCutterBreak.TabIndex = 13 + Me.lcInCutterBreak.TabStop = True + Me.lcInCutterBreak.Tag = "radio_lccutterspacebreak" + Me.lcInCutterBreak.Text = "Break on cutter spaces" + Me.lcInCutterBreak.UseVisualStyleBackColor = True + ' + 'lcIncutternobreak + ' + Me.lcIncutternobreak.AutoSize = True + Me.lcIncutternobreak.Location = New System.Drawing.Point(88, 4) + Me.lcIncutternobreak.Name = "lcIncutternobreak" + Me.lcIncutternobreak.Size = New System.Drawing.Size(69, 17) + Me.lcIncutternobreak.TabIndex = 12 + Me.lcIncutternobreak.Tag = "radio_lccutterspacenobreak" + Me.lcIncutternobreak.Text = "No break" + Me.lcIncutternobreak.UseVisualStyleBackColor = True + ' + 'Panel7 + ' + Me.Panel7.Controls.Add(Me.Label75) + Me.Panel7.Controls.Add(Me.lcCutterBreak) + Me.Panel7.Controls.Add(Me.lcCutterNoBreak) + Me.Panel7.Location = New System.Drawing.Point(8, 68) + Me.Panel7.Name = "Panel7" + Me.Panel7.Size = New System.Drawing.Size(308, 24) + Me.Panel7.TabIndex = 15 + ' + 'Label75 + ' + Me.Label75.AutoSize = True + Me.Label75.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label75.Location = New System.Drawing.Point(24, 8) + Me.Label75.Name = "Label75" + Me.Label75.Size = New System.Drawing.Size(86, 13) + Me.Label75.TabIndex = 9 + Me.Label75.Text = "Before Cutter:" + ' + 'lcCutterBreak + ' + Me.lcCutterBreak.AutoSize = True + Me.lcCutterBreak.Checked = True + Me.lcCutterBreak.Location = New System.Drawing.Point(192, 4) + Me.lcCutterBreak.Name = "lcCutterBreak" + Me.lcCutterBreak.Size = New System.Drawing.Size(116, 17) + Me.lcCutterBreak.TabIndex = 13 + Me.lcCutterBreak.TabStop = True + Me.lcCutterBreak.Tag = "radio_lccutterbreak" + Me.lcCutterBreak.Text = "Break before cutter" + Me.lcCutterBreak.UseVisualStyleBackColor = True + ' + 'lcCutterNoBreak + ' + Me.lcCutterNoBreak.AutoSize = True + Me.lcCutterNoBreak.Location = New System.Drawing.Point(116, 4) + Me.lcCutterNoBreak.Name = "lcCutterNoBreak" + Me.lcCutterNoBreak.Size = New System.Drawing.Size(69, 17) + Me.lcCutterNoBreak.TabIndex = 12 + Me.lcCutterNoBreak.Tag = "radio_lccutternobreak" + Me.lcCutterNoBreak.Text = "No break" + Me.lcCutterNoBreak.UseVisualStyleBackColor = True + ' + 'Panel5 + ' + Me.Panel5.Controls.Add(Me.lcDecimalBreakAfter) + Me.Panel5.Controls.Add(Me.Label74) + Me.Panel5.Controls.Add(Me.lcDecimalBreakB4) + Me.Panel5.Controls.Add(Me.lcNoDecimalBreak) + Me.Panel5.Location = New System.Drawing.Point(8, 44) + Me.Panel5.Name = "Panel5" + Me.Panel5.Size = New System.Drawing.Size(436, 24) + Me.Panel5.TabIndex = 14 + ' + 'lcDecimalBreakAfter + ' + Me.lcDecimalBreakAfter.AutoSize = True + Me.lcDecimalBreakAfter.Location = New System.Drawing.Point(292, 4) + Me.lcDecimalBreakAfter.Name = "lcDecimalBreakAfter" + Me.lcDecimalBreakAfter.Size = New System.Drawing.Size(85, 17) + Me.lcDecimalBreakAfter.TabIndex = 14 + Me.lcDecimalBreakAfter.Tag = "radio_lcdecbreak" + Me.lcDecimalBreakAfter.Text = "after decimal" + Me.lcDecimalBreakAfter.UseVisualStyleBackColor = True + ' + 'Label74 + ' + Me.Label74.AutoSize = True + Me.Label74.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label74.Location = New System.Drawing.Point(20, 8) + Me.Label74.Name = "Label74" + Me.Label74.Size = New System.Drawing.Size(90, 13) + Me.Label74.TabIndex = 9 + Me.Label74.Text = "Class Decimal:" + ' + 'lcDecimalBreakB4 + ' + Me.lcDecimalBreakB4.AutoSize = True + Me.lcDecimalBreakB4.Location = New System.Drawing.Point(192, 4) + Me.lcDecimalBreakB4.Name = "lcDecimalBreakB4" + Me.lcDecimalBreakB4.Size = New System.Drawing.Size(98, 17) + Me.lcDecimalBreakB4.TabIndex = 13 + Me.lcDecimalBreakB4.Tag = "radio_lcdecbreakbefore" + Me.lcDecimalBreakB4.Text = "Break before or" + Me.lcDecimalBreakB4.UseVisualStyleBackColor = True + ' + 'lcNoDecimalBreak + ' + Me.lcNoDecimalBreak.AutoSize = True + Me.lcNoDecimalBreak.Checked = True + Me.lcNoDecimalBreak.Location = New System.Drawing.Point(116, 4) + Me.lcNoDecimalBreak.Name = "lcNoDecimalBreak" + Me.lcNoDecimalBreak.Size = New System.Drawing.Size(69, 17) + Me.lcNoDecimalBreak.TabIndex = 12 + Me.lcNoDecimalBreak.TabStop = True + Me.lcNoDecimalBreak.Tag = "radio_lcdecnobreak" + Me.lcNoDecimalBreak.Text = "No break" + Me.lcNoDecimalBreak.UseVisualStyleBackColor = True + ' + 'lcNumericBreak + ' + Me.lcNumericBreak.AutoSize = True + Me.lcNumericBreak.Checked = True + Me.lcNumericBreak.Location = New System.Drawing.Point(200, 28) + Me.lcNumericBreak.Name = "lcNumericBreak" + Me.lcNumericBreak.Size = New System.Drawing.Size(131, 17) + Me.lcNumericBreak.TabIndex = 11 + Me.lcNumericBreak.TabStop = True + Me.lcNumericBreak.Tag = "radio_lcnumbreak" + Me.lcNumericBreak.Text = "Break before numerics" + Me.lcNumericBreak.UseVisualStyleBackColor = True + ' + 'lcNoNumericBreak + ' + Me.lcNoNumericBreak.AutoSize = True + Me.lcNoNumericBreak.Location = New System.Drawing.Point(124, 28) + Me.lcNoNumericBreak.Name = "lcNoNumericBreak" + Me.lcNoNumericBreak.Size = New System.Drawing.Size(69, 17) + Me.lcNoNumericBreak.TabIndex = 10 + Me.lcNoNumericBreak.Tag = "radio_lcnumnobreak" + Me.lcNoNumericBreak.Text = "No break" + Me.lcNoNumericBreak.UseVisualStyleBackColor = True + ' + 'Label66 + ' + Me.Label66.AutoSize = True + Me.Label66.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label66.Location = New System.Drawing.Point(20, 28) + Me.Label66.Name = "Label66" + Me.Label66.Size = New System.Drawing.Size(97, 13) + Me.Label66.TabIndex = 8 + Me.Label66.Text = "Class Numerics:" + ' + 'TabPage8 + ' + Me.TabPage8.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.TabPage8.Controls.Add(Me.deweyDecBreak) + Me.TabPage8.Controls.Add(Me.deweyDigitsToBreak) + Me.TabPage8.Controls.Add(Me.Label128) + Me.TabPage8.Controls.Add(Me.Label127) + Me.TabPage8.Controls.Add(Me.Label126) + Me.TabPage8.Controls.Add(Me.Label125) + Me.TabPage8.Controls.Add(Me.deweydigitsperline) + Me.TabPage8.Controls.Add(Me.deweyGroup3) + Me.TabPage8.Controls.Add(Me.DeweyType) + Me.TabPage8.Controls.Add(Me.Label108) + Me.TabPage8.Controls.Add(Me.deweyRemoveAfter) + Me.TabPage8.Controls.Add(Me.deweyCharBreak) + Me.TabPage8.Controls.Add(Me.Panel15) + Me.TabPage8.Controls.Add(Me.Panel14) + Me.TabPage8.Controls.Add(Me.Panel9) + Me.TabPage8.Controls.Add(Me.Panel11) + Me.TabPage8.Location = New System.Drawing.Point(4, 22) + Me.TabPage8.Name = "TabPage8" + Me.TabPage8.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage8.Size = New System.Drawing.Size(496, 178) + Me.TabPage8.TabIndex = 1 + Me.TabPage8.Text = "Dewey" + ' + 'deweyDecBreak + ' + Me.deweyDecBreak.AutoSize = True + Me.deweyDecBreak.Enabled = False + Me.deweyDecBreak.Location = New System.Drawing.Point(140, 68) + Me.deweyDecBreak.Name = "deweyDecBreak" + Me.deweyDecBreak.Size = New System.Drawing.Size(15, 14) + Me.deweyDecBreak.TabIndex = 60 + Me.deweyDecBreak.Tag = "check_deweydecimalbreak" + Me.ToolTip1.SetToolTip(Me.deweyDecBreak, "Check to break the class number after the specified number of decimal digits.") + Me.deweyDecBreak.UseVisualStyleBackColor = True + ' + 'deweyDigitsToBreak + ' + Me.deweyDigitsToBreak.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.deweyDigitsToBreak.Enabled = False + Me.deweyDigitsToBreak.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.deweyDigitsToBreak.Location = New System.Drawing.Point(260, 68) + Me.deweyDigitsToBreak.Name = "deweyDigitsToBreak" + Me.deweyDigitsToBreak.Size = New System.Drawing.Size(16, 13) + Me.deweyDigitsToBreak.TabIndex = 59 + Me.deweyDigitsToBreak.Tag = "text_deweydigitstobreak" + Me.deweyDigitsToBreak.Text = "4" + Me.deweyDigitsToBreak.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + Me.ToolTip1.SetToolTip(Me.deweyDigitsToBreak, "The class number will not break unless the number of digits after the decimal poi" & _ + "nt exceeds this value (from 2 through 7).") + ' + 'Label128 + ' + Me.Label128.AutoSize = True + Me.Label128.Enabled = False + Me.Label128.Location = New System.Drawing.Point(156, 68) + Me.Label128.Name = "Label128" + Me.Label128.Size = New System.Drawing.Size(106, 13) + Me.Label128.TabIndex = 58 + Me.Label128.Text = "until after dec. digit #" + ' + 'Label127 + ' + Me.Label127.AutoSize = True + Me.Label127.Font = New System.Drawing.Font("Wingdings 3", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(2, Byte)) + Me.Label127.ForeColor = System.Drawing.Color.Red + Me.Label127.Location = New System.Drawing.Point(120, 68) + Me.Label127.Name = "Label127" + Me.Label127.Size = New System.Drawing.Size(20, 15) + Me.Label127.TabIndex = 57 + Me.Label127.Tag = "" + Me.Label127.Text = "9" + Me.Label127.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'Label126 + ' + Me.Label126.AutoSize = True + Me.Label126.Font = New System.Drawing.Font("Wingdings 3", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(2, Byte)) + Me.Label126.ForeColor = System.Drawing.Color.Red + Me.Label126.Location = New System.Drawing.Point(296, 68) + Me.Label126.Name = "Label126" + Me.Label126.Size = New System.Drawing.Size(20, 15) + Me.Label126.TabIndex = 56 + Me.Label126.Tag = "" + Me.Label126.Text = "9" + Me.Label126.TextAlign = System.Drawing.ContentAlignment.TopRight + ' + 'Label125 + ' + Me.Label125.AutoSize = True + Me.Label125.Enabled = False + Me.Label125.Location = New System.Drawing.Point(352, 68) + Me.Label125.Name = "Label125" + Me.Label125.Size = New System.Drawing.Size(112, 13) + Me.Label125.TabIndex = 45 + Me.Label125.Text = "digits per line grouping" + ' + 'deweydigitsperline + ' + Me.deweydigitsperline.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.deweydigitsperline.Enabled = False + Me.deweydigitsperline.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.deweydigitsperline.Location = New System.Drawing.Point(332, 68) + Me.deweydigitsperline.Name = "deweydigitsperline" + Me.deweydigitsperline.Size = New System.Drawing.Size(16, 13) + Me.deweydigitsperline.TabIndex = 44 + Me.deweydigitsperline.Tag = "text_deweydigitsperline" + Me.deweydigitsperline.Text = "3" + Me.deweydigitsperline.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + ' + 'deweyGroup3 + ' + Me.deweyGroup3.AutoSize = True + Me.deweyGroup3.Enabled = False + Me.deweyGroup3.Location = New System.Drawing.Point(316, 68) + Me.deweyGroup3.Name = "deweyGroup3" + Me.deweyGroup3.Size = New System.Drawing.Size(15, 14) + Me.deweyGroup3.TabIndex = 28 + Me.deweyGroup3.Tag = "check_deweydigitsperline" + Me.ToolTip1.SetToolTip(Me.deweyGroup3, "After breaking on the decimal point, display the remaining digits in groups 2 thr" & _ + "ough 7 digits.") + Me.deweyGroup3.UseVisualStyleBackColor = True + ' + 'DeweyType + ' + Me.DeweyType.BackColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.DeweyType.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.DeweyType.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.DeweyType.Location = New System.Drawing.Point(176, 4) + Me.DeweyType.Name = "DeweyType" + Me.DeweyType.Size = New System.Drawing.Size(48, 13) + Me.DeweyType.TabIndex = 27 + Me.DeweyType.Tag = "text_deweytype" + Me.DeweyType.Text = "1" + Me.ToolTip1.SetToolTip(Me.DeweyType, "One or more call number types (separated by commas) that will be handled by this " & _ + "parsing routine.") + ' + 'Label108 + ' + Me.Label108.AutoSize = True + Me.Label108.ForeColor = System.Drawing.Color.Blue + Me.Label108.Location = New System.Drawing.Point(20, 4) + Me.Label108.Name = "Label108" + Me.Label108.Size = New System.Drawing.Size(150, 13) + Me.Label108.TabIndex = 26 + Me.Label108.Text = "Handles Call Number Type(s): " + ' + 'deweyRemoveAfter + ' + Me.deweyRemoveAfter.AutoSize = True + Me.deweyRemoveAfter.Location = New System.Drawing.Point(196, 136) + Me.deweyRemoveAfter.Name = "deweyRemoveAfter" + Me.deweyRemoveAfter.Size = New System.Drawing.Size(205, 17) + Me.deweyRemoveAfter.TabIndex = 24 + Me.deweyRemoveAfter.Tag = "check_deweyremoveafter" + Me.deweyRemoveAfter.Text = "Remove character(s) from call number" + Me.ToolTip1.SetToolTip(Me.deweyRemoveAfter, "Don't display the special characters that caused the break.") + Me.deweyRemoveAfter.UseVisualStyleBackColor = True + ' + 'deweyCharBreak + ' + Me.deweyCharBreak.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(220, Byte), Integer)) + Me.deweyCharBreak.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.deweyCharBreak.Location = New System.Drawing.Point(404, 104) + Me.deweyCharBreak.Multiline = True + Me.deweyCharBreak.Name = "deweyCharBreak" + Me.deweyCharBreak.ScrollBars = System.Windows.Forms.ScrollBars.Vertical + Me.deweyCharBreak.Size = New System.Drawing.Size(88, 72) + Me.deweyCharBreak.TabIndex = 21 + Me.deweyCharBreak.Tag = "text_deweybreak" + Me.ToolTip1.SetToolTip(Me.deweyCharBreak, "One or more characters or phrases that will cause a line break.") + ' + 'Panel15 + ' + Me.Panel15.Controls.Add(Me.deweyCharBreakAft) + Me.Panel15.Controls.Add(Me.Label84) + Me.Panel15.Controls.Add(Me.deweyCharBreakb4) + Me.Panel15.Controls.Add(Me.deweyOtherNoBreak) + Me.Panel15.Location = New System.Drawing.Point(32, 112) + Me.Panel15.Name = "Panel15" + Me.Panel15.Size = New System.Drawing.Size(372, 24) + Me.Panel15.TabIndex = 20 + Me.Panel15.Tag = "" + ' + 'deweyCharBreakAft + ' + Me.deweyCharBreakAft.AutoSize = True + Me.deweyCharBreakAft.Location = New System.Drawing.Point(260, 4) + Me.deweyCharBreakAft.Name = "deweyCharBreakAft" + Me.deweyCharBreakAft.Size = New System.Drawing.Size(108, 17) + Me.deweyCharBreakAft.TabIndex = 14 + Me.deweyCharBreakAft.Tag = "radio_deweycharbreakaft" + Me.deweyCharBreakAft.Text = "after character(s):" + Me.ToolTip1.SetToolTip(Me.deweyCharBreakAft, "Break after any value specified in the text box.") + Me.deweyCharBreakAft.UseVisualStyleBackColor = True + ' + 'Label84 + ' + Me.Label84.AutoSize = True + Me.Label84.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label84.Location = New System.Drawing.Point(40, 8) + Me.Label84.Name = "Label84" + Me.Label84.Size = New System.Drawing.Size(42, 13) + Me.Label84.TabIndex = 9 + Me.Label84.Text = "Other:" + ' + 'deweyCharBreakb4 + ' + Me.deweyCharBreakb4.AutoSize = True + Me.deweyCharBreakb4.Location = New System.Drawing.Point(164, 4) + Me.deweyCharBreakb4.Name = "deweyCharBreakb4" + Me.deweyCharBreakb4.Size = New System.Drawing.Size(98, 17) + Me.deweyCharBreakb4.TabIndex = 13 + Me.deweyCharBreakb4.Tag = "radio_deweycharbreakb4" + Me.deweyCharBreakb4.Text = "Break before or" + Me.ToolTip1.SetToolTip(Me.deweyCharBreakb4, "Break before any value specified in the text box.") + Me.deweyCharBreakb4.UseVisualStyleBackColor = True + ' + 'deweyOtherNoBreak + ' + Me.deweyOtherNoBreak.AutoSize = True + Me.deweyOtherNoBreak.Checked = True + Me.deweyOtherNoBreak.Location = New System.Drawing.Point(88, 4) + Me.deweyOtherNoBreak.Name = "deweyOtherNoBreak" + Me.deweyOtherNoBreak.Size = New System.Drawing.Size(69, 17) + Me.deweyOtherNoBreak.TabIndex = 12 + Me.deweyOtherNoBreak.TabStop = True + Me.deweyOtherNoBreak.Tag = "radio_deweycharnobreak" + Me.deweyOtherNoBreak.Text = "No break" + Me.ToolTip1.SetToolTip(Me.deweyOtherNoBreak, "No other breaks.") + Me.deweyOtherNoBreak.UseVisualStyleBackColor = True + ' + 'Panel14 + ' + Me.Panel14.Controls.Add(Me.Label82) + Me.Panel14.Controls.Add(Me.deweyPrefixBreak) + Me.Panel14.Controls.Add(Me.deweyPrefixNoBreak) + Me.Panel14.Location = New System.Drawing.Point(32, 24) + Me.Panel14.Name = "Panel14" + Me.Panel14.Size = New System.Drawing.Size(356, 24) + Me.Panel14.TabIndex = 18 + ' + 'Label82 + ' + Me.Label82.AutoSize = True + Me.Label82.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label82.Location = New System.Drawing.Point(4, 8) + Me.Label82.Name = "Label82" + Me.Label82.Size = New System.Drawing.Size(79, 13) + Me.Label82.TabIndex = 9 + Me.Label82.Text = "Alpha Prefix:" + ' + 'deweyPrefixBreak + ' + Me.deweyPrefixBreak.AutoSize = True + Me.deweyPrefixBreak.Checked = True + Me.deweyPrefixBreak.Location = New System.Drawing.Point(164, 4) + Me.deweyPrefixBreak.Name = "deweyPrefixBreak" + Me.deweyPrefixBreak.Size = New System.Drawing.Size(105, 17) + Me.deweyPrefixBreak.TabIndex = 13 + Me.deweyPrefixBreak.TabStop = True + Me.deweyPrefixBreak.Tag = "radio_deweyprefixbreakaft" + Me.deweyPrefixBreak.Text = "Break after prefix" + Me.ToolTip1.SetToolTip(Me.deweyPrefixBreak, "Break after any alpha prefix.") + Me.deweyPrefixBreak.UseVisualStyleBackColor = True + ' + 'deweyPrefixNoBreak + ' + Me.deweyPrefixNoBreak.AutoSize = True + Me.deweyPrefixNoBreak.Location = New System.Drawing.Point(88, 4) + Me.deweyPrefixNoBreak.Name = "deweyPrefixNoBreak" + Me.deweyPrefixNoBreak.Size = New System.Drawing.Size(69, 17) + Me.deweyPrefixNoBreak.TabIndex = 12 + Me.deweyPrefixNoBreak.Tag = "radio_deweyprefixnobreak" + Me.deweyPrefixNoBreak.Text = "No break" + Me.ToolTip1.SetToolTip(Me.deweyPrefixNoBreak, "Don't break between any alpha prefix and the class number.") + Me.deweyPrefixNoBreak.UseVisualStyleBackColor = True + ' + 'Panel9 + ' + Me.Panel9.Controls.Add(Me.Label77) + Me.Panel9.Controls.Add(Me.deweyCutterBreak) + Me.Panel9.Controls.Add(Me.deweyCutterNoBreak) + Me.Panel9.Location = New System.Drawing.Point(32, 88) + Me.Panel9.Name = "Panel9" + Me.Panel9.Size = New System.Drawing.Size(280, 24) + Me.Panel9.TabIndex = 19 + ' + 'Label77 + ' + Me.Label77.AutoSize = True + Me.Label77.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label77.Location = New System.Drawing.Point(36, 8) + Me.Label77.Name = "Label77" + Me.Label77.Size = New System.Drawing.Size(45, 13) + Me.Label77.TabIndex = 9 + Me.Label77.Text = "Cutter:" + ' + 'deweyCutterBreak + ' + Me.deweyCutterBreak.AutoSize = True + Me.deweyCutterBreak.Checked = True + Me.deweyCutterBreak.Location = New System.Drawing.Point(164, 4) + Me.deweyCutterBreak.Name = "deweyCutterBreak" + Me.deweyCutterBreak.Size = New System.Drawing.Size(105, 17) + Me.deweyCutterBreak.TabIndex = 13 + Me.deweyCutterBreak.TabStop = True + Me.deweyCutterBreak.Tag = "radio_deweycutterspacebreak" + Me.deweyCutterBreak.Text = "Break on spaces" + Me.ToolTip1.SetToolTip(Me.deweyCutterBreak, "Break the cutter after each space.") + Me.deweyCutterBreak.UseVisualStyleBackColor = True + ' + 'deweyCutterNoBreak + ' + Me.deweyCutterNoBreak.AutoSize = True + Me.deweyCutterNoBreak.Location = New System.Drawing.Point(88, 4) + Me.deweyCutterNoBreak.Name = "deweyCutterNoBreak" + Me.deweyCutterNoBreak.Size = New System.Drawing.Size(69, 17) + Me.deweyCutterNoBreak.TabIndex = 12 + Me.deweyCutterNoBreak.Tag = "radio_deweycutterspacenobreak" + Me.deweyCutterNoBreak.Text = "No break" + Me.ToolTip1.SetToolTip(Me.deweyCutterNoBreak, "Don't break before the Dewey cutter.") + Me.deweyCutterNoBreak.UseVisualStyleBackColor = True + ' + 'Panel11 + ' + Me.Panel11.Controls.Add(Me.deweyDecimalBreakAft) + Me.Panel11.Controls.Add(Me.Label79) + Me.Panel11.Controls.Add(Me.deweyDecimalBreakb4) + Me.Panel11.Controls.Add(Me.deweyDecimalNoBreak) + Me.Panel11.Location = New System.Drawing.Point(32, 44) + Me.Panel11.Name = "Panel11" + Me.Panel11.Size = New System.Drawing.Size(356, 24) + Me.Panel11.TabIndex = 17 + ' + 'deweyDecimalBreakAft + ' + Me.deweyDecimalBreakAft.AutoSize = True + Me.deweyDecimalBreakAft.Location = New System.Drawing.Point(260, 4) + Me.deweyDecimalBreakAft.Name = "deweyDecimalBreakAft" + Me.deweyDecimalBreakAft.Size = New System.Drawing.Size(85, 17) + Me.deweyDecimalBreakAft.TabIndex = 14 + Me.deweyDecimalBreakAft.Tag = "radio_deweydecbreakaft" + Me.deweyDecimalBreakAft.Text = "after decimal" + Me.ToolTip1.SetToolTip(Me.deweyDecimalBreakAft, "Break the class number after the decimal point.") + Me.deweyDecimalBreakAft.UseVisualStyleBackColor = True + ' + 'Label79 + ' + Me.Label79.AutoSize = True + Me.Label79.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label79.Location = New System.Drawing.Point(40, 8) + Me.Label79.Name = "Label79" + Me.Label79.Size = New System.Drawing.Size(41, 13) + Me.Label79.TabIndex = 9 + Me.Label79.Text = "Class:" + ' + 'deweyDecimalBreakb4 + ' + Me.deweyDecimalBreakb4.AutoSize = True + Me.deweyDecimalBreakb4.Location = New System.Drawing.Point(164, 4) + Me.deweyDecimalBreakb4.Name = "deweyDecimalBreakb4" + Me.deweyDecimalBreakb4.Size = New System.Drawing.Size(98, 17) + Me.deweyDecimalBreakb4.TabIndex = 13 + Me.deweyDecimalBreakb4.Tag = "radio_deweydecbreakb4" + Me.deweyDecimalBreakb4.Text = "Break before or" + Me.ToolTip1.SetToolTip(Me.deweyDecimalBreakb4, "Break the class number before the decimal point.") + Me.deweyDecimalBreakb4.UseVisualStyleBackColor = True + ' + 'deweyDecimalNoBreak + ' + Me.deweyDecimalNoBreak.AutoSize = True + Me.deweyDecimalNoBreak.Checked = True + Me.deweyDecimalNoBreak.Location = New System.Drawing.Point(88, 4) + Me.deweyDecimalNoBreak.Name = "deweyDecimalNoBreak" + Me.deweyDecimalNoBreak.Size = New System.Drawing.Size(69, 17) + Me.deweyDecimalNoBreak.TabIndex = 12 + Me.deweyDecimalNoBreak.TabStop = True + Me.deweyDecimalNoBreak.Tag = "radio_deweydecnobreak" + Me.deweyDecimalNoBreak.Text = "No break" + Me.ToolTip1.SetToolTip(Me.deweyDecimalNoBreak, "Don't break the class number (unless after a specific number of digits past the d" & _ + "ecimal point)") + Me.deweyDecimalNoBreak.UseVisualStyleBackColor = True + ' + 'TabPage10 + ' + Me.TabPage10.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.TabPage10.Controls.Add(Me.sudocRemoveAfter) + Me.TabPage10.Controls.Add(Me.sudocCharBreak) + Me.TabPage10.Controls.Add(Me.Panel16) + Me.TabPage10.Controls.Add(Me.sudocType) + Me.TabPage10.Controls.Add(Me.Label109) + Me.TabPage10.Controls.Add(Me.Panel10) + Me.TabPage10.Controls.Add(Me.Panel3) + Me.TabPage10.Controls.Add(Me.sudocBreakBeforeColon) + Me.TabPage10.Controls.Add(Me.sudocBreakAfterColon) + Me.TabPage10.Controls.Add(Me.sudocNoColonBreak) + Me.TabPage10.Controls.Add(Me.Label67) + Me.TabPage10.Controls.Add(Me.Panel4) + Me.TabPage10.Controls.Add(Me.Panel2) + Me.TabPage10.Location = New System.Drawing.Point(4, 22) + Me.TabPage10.Name = "TabPage10" + Me.TabPage10.Size = New System.Drawing.Size(496, 178) + Me.TabPage10.TabIndex = 3 + Me.TabPage10.Text = "SuDoc" + ' + 'sudocRemoveAfter + ' + Me.sudocRemoveAfter.AutoSize = True + Me.sudocRemoveAfter.Location = New System.Drawing.Point(200, 156) + Me.sudocRemoveAfter.Name = "sudocRemoveAfter" + Me.sudocRemoveAfter.Size = New System.Drawing.Size(205, 17) + Me.sudocRemoveAfter.TabIndex = 56 + Me.sudocRemoveAfter.Tag = "check_sudocremoveafter" + Me.sudocRemoveAfter.Text = "Remove character(s) from call number" + Me.sudocRemoveAfter.UseVisualStyleBackColor = True + ' + 'sudocCharBreak + ' + Me.sudocCharBreak.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(220, Byte), Integer)) + Me.sudocCharBreak.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.sudocCharBreak.Location = New System.Drawing.Point(412, 104) + Me.sudocCharBreak.Multiline = True + Me.sudocCharBreak.Name = "sudocCharBreak" + Me.sudocCharBreak.ScrollBars = System.Windows.Forms.ScrollBars.Vertical + Me.sudocCharBreak.Size = New System.Drawing.Size(76, 72) + Me.sudocCharBreak.TabIndex = 55 + Me.sudocCharBreak.Tag = "text_sudocbreak" + Me.ToolTip1.SetToolTip(Me.sudocCharBreak, "One or more characters or phrases that will cause a line break.") + ' + 'Panel16 + ' + Me.Panel16.Controls.Add(Me.sudocCharBreakAft) + Me.Panel16.Controls.Add(Me.Label113) + Me.Panel16.Controls.Add(Me.sudocCharBreakB4) + Me.Panel16.Controls.Add(Me.sudocOtherNoBreak) + Me.Panel16.Location = New System.Drawing.Point(36, 132) + Me.Panel16.Name = "Panel16" + Me.Panel16.Size = New System.Drawing.Size(372, 24) + Me.Panel16.TabIndex = 54 + Me.Panel16.Tag = "" + ' + 'sudocCharBreakAft + ' + Me.sudocCharBreakAft.AutoSize = True + Me.sudocCharBreakAft.Location = New System.Drawing.Point(260, 4) + Me.sudocCharBreakAft.Name = "sudocCharBreakAft" + Me.sudocCharBreakAft.Size = New System.Drawing.Size(108, 17) + Me.sudocCharBreakAft.TabIndex = 14 + Me.sudocCharBreakAft.Tag = "radio_sudoccharbreakaft" + Me.sudocCharBreakAft.Text = "after character(s):" + Me.sudocCharBreakAft.UseVisualStyleBackColor = True + ' + 'Label113 + ' + Me.Label113.AutoSize = True + Me.Label113.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label113.Location = New System.Drawing.Point(44, 6) + Me.Label113.Name = "Label113" + Me.Label113.Size = New System.Drawing.Size(42, 13) + Me.Label113.TabIndex = 9 + Me.Label113.Text = "Other:" + ' + 'sudocCharBreakB4 + ' + Me.sudocCharBreakB4.AutoSize = True + Me.sudocCharBreakB4.Location = New System.Drawing.Point(164, 4) + Me.sudocCharBreakB4.Name = "sudocCharBreakB4" + Me.sudocCharBreakB4.Size = New System.Drawing.Size(98, 17) + Me.sudocCharBreakB4.TabIndex = 13 + Me.sudocCharBreakB4.Tag = "radio_sudoccharbreakb4" + Me.sudocCharBreakB4.Text = "Break before or" + Me.sudocCharBreakB4.UseVisualStyleBackColor = True + ' + 'sudocOtherNoBreak + ' + Me.sudocOtherNoBreak.AutoSize = True + Me.sudocOtherNoBreak.Checked = True + Me.sudocOtherNoBreak.Location = New System.Drawing.Point(88, 4) + Me.sudocOtherNoBreak.Name = "sudocOtherNoBreak" + Me.sudocOtherNoBreak.Size = New System.Drawing.Size(69, 17) + Me.sudocOtherNoBreak.TabIndex = 12 + Me.sudocOtherNoBreak.TabStop = True + Me.sudocOtherNoBreak.Tag = "radio_sudoccharnobreak" + Me.sudocOtherNoBreak.Text = "No break" + Me.sudocOtherNoBreak.UseVisualStyleBackColor = True + ' + 'sudocType + ' + Me.sudocType.BackColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.sudocType.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.sudocType.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.sudocType.Location = New System.Drawing.Point(176, 4) + Me.sudocType.Name = "sudocType" + Me.sudocType.Size = New System.Drawing.Size(48, 13) + Me.sudocType.TabIndex = 53 + Me.sudocType.Tag = "text_sudoctype" + Me.sudocType.Text = "3" + Me.ToolTip1.SetToolTip(Me.sudocType, "One or more call number types (separated by commas) that will be handled by this " & _ + "parsing routine.") + ' + 'Label109 + ' + Me.Label109.AutoSize = True + Me.Label109.ForeColor = System.Drawing.Color.Blue + Me.Label109.Location = New System.Drawing.Point(20, 4) + Me.Label109.Name = "Label109" + Me.Label109.Size = New System.Drawing.Size(150, 13) + Me.Label109.TabIndex = 52 + Me.Label109.Text = "Handles Call Number Type(s): " + ' + 'Panel10 + ' + Me.Panel10.Controls.Add(Me.sudocNoBreakB4Numerics) + Me.Panel10.Controls.Add(Me.sudocBreakB4Numerics) + Me.Panel10.Controls.Add(Me.Label85) + Me.Panel10.Location = New System.Drawing.Point(20, 20) + Me.Panel10.Name = "Panel10" + Me.Panel10.Size = New System.Drawing.Size(332, 24) + Me.Panel10.TabIndex = 51 + ' + 'sudocNoBreakB4Numerics + ' + Me.sudocNoBreakB4Numerics.AutoSize = True + Me.sudocNoBreakB4Numerics.Checked = True + Me.sudocNoBreakB4Numerics.Location = New System.Drawing.Point(104, 4) + Me.sudocNoBreakB4Numerics.Name = "sudocNoBreakB4Numerics" + Me.sudocNoBreakB4Numerics.Size = New System.Drawing.Size(69, 17) + Me.sudocNoBreakB4Numerics.TabIndex = 9 + Me.sudocNoBreakB4Numerics.TabStop = True + Me.sudocNoBreakB4Numerics.Tag = "radio_sudocnobreakb4numerics" + Me.sudocNoBreakB4Numerics.Text = "No break" + Me.sudocNoBreakB4Numerics.UseVisualStyleBackColor = True + ' + 'sudocBreakB4Numerics + ' + Me.sudocBreakB4Numerics.AutoSize = True + Me.sudocBreakB4Numerics.Location = New System.Drawing.Point(180, 4) + Me.sudocBreakB4Numerics.Name = "sudocBreakB4Numerics" + Me.sudocBreakB4Numerics.Size = New System.Drawing.Size(131, 17) + Me.sudocBreakB4Numerics.TabIndex = 8 + Me.sudocBreakB4Numerics.Tag = "radio_sudocbreakb4numerics" + Me.sudocBreakB4Numerics.Text = "Break before numerics" + Me.sudocBreakB4Numerics.UseVisualStyleBackColor = True + ' + 'Label85 + ' + Me.Label85.AutoSize = True + Me.Label85.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label85.Location = New System.Drawing.Point(36, 8) + Me.Label85.Name = "Label85" + Me.Label85.Size = New System.Drawing.Size(63, 13) + Me.Label85.TabIndex = 7 + Me.Label85.Text = "Numerics:" + ' + 'Panel3 + ' + Me.Panel3.Controls.Add(Me.sudocNoDecimalBreak) + Me.Panel3.Controls.Add(Me.sudocBreakDecimal) + Me.Panel3.Controls.Add(Me.Label69) + Me.Panel3.Location = New System.Drawing.Point(20, 44) + Me.Panel3.Name = "Panel3" + Me.Panel3.Size = New System.Drawing.Size(332, 24) + Me.Panel3.TabIndex = 50 + ' + 'sudocNoDecimalBreak + ' + Me.sudocNoDecimalBreak.AutoSize = True + Me.sudocNoDecimalBreak.Checked = True + Me.sudocNoDecimalBreak.Location = New System.Drawing.Point(104, 4) + Me.sudocNoDecimalBreak.Name = "sudocNoDecimalBreak" + Me.sudocNoDecimalBreak.Size = New System.Drawing.Size(69, 17) + Me.sudocNoDecimalBreak.TabIndex = 9 + Me.sudocNoDecimalBreak.TabStop = True + Me.sudocNoDecimalBreak.Tag = "radio_sudocnobrkdecimal" + Me.sudocNoDecimalBreak.Text = "No break" + Me.sudocNoDecimalBreak.UseVisualStyleBackColor = True + ' + 'sudocBreakDecimal + ' + Me.sudocBreakDecimal.AutoSize = True + Me.sudocBreakDecimal.Location = New System.Drawing.Point(180, 4) + Me.sudocBreakDecimal.Name = "sudocBreakDecimal" + Me.sudocBreakDecimal.Size = New System.Drawing.Size(125, 17) + Me.sudocBreakDecimal.TabIndex = 8 + Me.sudocBreakDecimal.Tag = "radio_sudocbrkdecimal" + Me.sudocBreakDecimal.Text = "Break before decimal" + Me.sudocBreakDecimal.UseVisualStyleBackColor = True + ' + 'Label69 + ' + Me.Label69.AutoSize = True + Me.Label69.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label69.Location = New System.Drawing.Point(44, 8) + Me.Label69.Name = "Label69" + Me.Label69.Size = New System.Drawing.Size(56, 13) + Me.Label69.TabIndex = 7 + Me.Label69.Text = "Decimal:" + ' + 'sudocBreakBeforeColon + ' + Me.sudocBreakBeforeColon.AutoSize = True + Me.sudocBreakBeforeColon.Checked = True + Me.sudocBreakBeforeColon.Location = New System.Drawing.Point(200, 68) + Me.sudocBreakBeforeColon.Name = "sudocBreakBeforeColon" + Me.sudocBreakBeforeColon.Size = New System.Drawing.Size(98, 17) + Me.sudocBreakBeforeColon.TabIndex = 45 + Me.sudocBreakBeforeColon.TabStop = True + Me.sudocBreakBeforeColon.Tag = "radio_sudocbrkb4colon" + Me.sudocBreakBeforeColon.Text = "Break before or" + Me.sudocBreakBeforeColon.UseVisualStyleBackColor = True + ' + 'sudocBreakAfterColon + ' + Me.sudocBreakAfterColon.AutoSize = True + Me.sudocBreakAfterColon.Location = New System.Drawing.Point(300, 68) + Me.sudocBreakAfterColon.Name = "sudocBreakAfterColon" + Me.sudocBreakAfterColon.Size = New System.Drawing.Size(75, 17) + Me.sudocBreakAfterColon.TabIndex = 46 + Me.sudocBreakAfterColon.Tag = "radio_sudocbrkaftercolon" + Me.sudocBreakAfterColon.Text = "after colon" + Me.sudocBreakAfterColon.UseVisualStyleBackColor = True + ' + 'sudocNoColonBreak + ' + Me.sudocNoColonBreak.AutoSize = True + Me.sudocNoColonBreak.Location = New System.Drawing.Point(124, 68) + Me.sudocNoColonBreak.Name = "sudocNoColonBreak" + Me.sudocNoColonBreak.Size = New System.Drawing.Size(69, 17) + Me.sudocNoColonBreak.TabIndex = 47 + Me.sudocNoColonBreak.Tag = "radio_sudoccolonnobrk" + Me.sudocNoColonBreak.Text = "No break" + Me.sudocNoColonBreak.UseVisualStyleBackColor = True + ' + 'Label67 + ' + Me.Label67.AutoSize = True + Me.Label67.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label67.Location = New System.Drawing.Point(76, 72) + Me.Label67.Name = "Label67" + Me.Label67.Size = New System.Drawing.Size(43, 13) + Me.Label67.TabIndex = 48 + Me.Label67.Text = "Colon:" + ' + 'Panel4 + ' + Me.Panel4.Controls.Add(Me.sudocDashNoBreak) + Me.Panel4.Controls.Add(Me.sudocDashBreak) + Me.Panel4.Controls.Add(Me.Label70) + Me.Panel4.Location = New System.Drawing.Point(8, 112) + Me.Panel4.Name = "Panel4" + Me.Panel4.Size = New System.Drawing.Size(356, 24) + Me.Panel4.TabIndex = 51 + ' + 'sudocDashNoBreak + ' + Me.sudocDashNoBreak.AutoSize = True + Me.sudocDashNoBreak.Location = New System.Drawing.Point(116, 4) + Me.sudocDashNoBreak.Name = "sudocDashNoBreak" + Me.sudocDashNoBreak.Size = New System.Drawing.Size(69, 17) + Me.sudocDashNoBreak.TabIndex = 7 + Me.sudocDashNoBreak.Tag = "radio_sudocdashnobrk" + Me.sudocDashNoBreak.Text = "No break" + Me.sudocDashNoBreak.UseVisualStyleBackColor = True + ' + 'sudocDashBreak + ' + Me.sudocDashBreak.AutoSize = True + Me.sudocDashBreak.Checked = True + Me.sudocDashBreak.Location = New System.Drawing.Point(192, 4) + Me.sudocDashBreak.Name = "sudocDashBreak" + Me.sudocDashBreak.Size = New System.Drawing.Size(137, 17) + Me.sudocDashBreak.TabIndex = 6 + Me.sudocDashBreak.TabStop = True + Me.sudocDashBreak.Tag = "radio_sudocdashbrk" + Me.sudocDashBreak.Text = "Replace dash w/ break" + Me.sudocDashBreak.UseVisualStyleBackColor = True + ' + 'Label70 + ' + Me.Label70.AutoSize = True + Me.Label70.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label70.Location = New System.Drawing.Point(0, 4) + Me.Label70.Name = "Label70" + Me.Label70.Size = New System.Drawing.Size(113, 13) + Me.Label70.TabIndex = 5 + Me.Label70.Text = "Dash (after colon):" + ' + 'Panel2 + ' + Me.Panel2.Controls.Add(Me.sudocSlashNobreak) + Me.Panel2.Controls.Add(Me.sudocSlashBreak) + Me.Panel2.Controls.Add(Me.Label68) + Me.Panel2.Location = New System.Drawing.Point(0, 88) + Me.Panel2.Name = "Panel2" + Me.Panel2.Size = New System.Drawing.Size(364, 24) + Me.Panel2.TabIndex = 49 + ' + 'sudocSlashNobreak + ' + Me.sudocSlashNobreak.AutoSize = True + Me.sudocSlashNobreak.Location = New System.Drawing.Point(124, 4) + Me.sudocSlashNobreak.Name = "sudocSlashNobreak" + Me.sudocSlashNobreak.Size = New System.Drawing.Size(69, 17) + Me.sudocSlashNobreak.TabIndex = 8 + Me.sudocSlashNobreak.Tag = "radio_sudocslashnobrk" + Me.sudocSlashNobreak.Text = "No break" + Me.sudocSlashNobreak.UseVisualStyleBackColor = True + ' + 'sudocSlashBreak + ' + Me.sudocSlashBreak.AutoSize = True + Me.sudocSlashBreak.Checked = True + Me.sudocSlashBreak.Location = New System.Drawing.Point(200, 4) + Me.sudocSlashBreak.Name = "sudocSlashBreak" + Me.sudocSlashBreak.Size = New System.Drawing.Size(138, 17) + Me.sudocSlashBreak.TabIndex = 7 + Me.sudocSlashBreak.TabStop = True + Me.sudocSlashBreak.Tag = "radio_sudocslashbrk" + Me.sudocSlashBreak.Text = "Replace slash w/ break" + Me.sudocSlashBreak.UseVisualStyleBackColor = True + ' + 'Label68 + ' + Me.Label68.AutoSize = True + Me.Label68.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label68.Location = New System.Drawing.Point(4, 8) + Me.Label68.Name = "Label68" + Me.Label68.Size = New System.Drawing.Size(115, 13) + Me.Label68.TabIndex = 6 + Me.Label68.Text = "Slash (after colon):" + ' + 'TabPage11 + ' + Me.TabPage11.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.TabPage11.Controls.Add(Me.otherType) + Me.TabPage11.Controls.Add(Me.Label110) + Me.TabPage11.Controls.Add(Me.otherRemoveAfter) + Me.TabPage11.Controls.Add(Me.otherFirstSpaceBreak) + Me.TabPage11.Controls.Add(Me.Panel13) + Me.TabPage11.Controls.Add(Me.Panel12) + Me.TabPage11.Controls.Add(Me.otherBreak) + Me.TabPage11.Controls.Add(Me.otherAllSpaceBreak) + Me.TabPage11.Controls.Add(Me.otherSpaceNoBreak) + Me.TabPage11.Controls.Add(Me.Label80) + Me.TabPage11.Location = New System.Drawing.Point(4, 22) + Me.TabPage11.Name = "TabPage11" + Me.TabPage11.Size = New System.Drawing.Size(496, 178) + Me.TabPage11.TabIndex = 4 + Me.TabPage11.Text = "Other" + ' + 'otherType + ' + Me.otherType.BackColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.otherType.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.otherType.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.otherType.Location = New System.Drawing.Point(176, 4) + Me.otherType.Name = "otherType" + Me.otherType.Size = New System.Drawing.Size(52, 13) + Me.otherType.TabIndex = 27 + Me.otherType.Tag = "text_othertype" + Me.otherType.Text = "4,7,8" + Me.ToolTip1.SetToolTip(Me.otherType, "One or more call number types (separated by commas) that will be handled by this " & _ + "parsing routine.") + ' + 'Label110 + ' + Me.Label110.AutoSize = True + Me.Label110.ForeColor = System.Drawing.Color.Blue + Me.Label110.Location = New System.Drawing.Point(20, 4) + Me.Label110.Name = "Label110" + Me.Label110.Size = New System.Drawing.Size(150, 13) + Me.Label110.TabIndex = 26 + Me.Label110.Text = "Handles Call Number Type(s): " + ' + 'otherRemoveAfter + ' + Me.otherRemoveAfter.AutoSize = True + Me.otherRemoveAfter.Location = New System.Drawing.Point(184, 104) + Me.otherRemoveAfter.Name = "otherRemoveAfter" + Me.otherRemoveAfter.Size = New System.Drawing.Size(205, 17) + Me.otherRemoveAfter.TabIndex = 24 + Me.otherRemoveAfter.Tag = "check_otherremoveafter" + Me.otherRemoveAfter.Text = "Remove character(s) from call number" + Me.otherRemoveAfter.UseVisualStyleBackColor = True + ' + 'otherFirstSpaceBreak + ' + Me.otherFirstSpaceBreak.AutoSize = True + Me.otherFirstSpaceBreak.Location = New System.Drawing.Point(280, 40) + Me.otherFirstSpaceBreak.Name = "otherFirstSpaceBreak" + Me.otherFirstSpaceBreak.Size = New System.Drawing.Size(87, 17) + Me.otherFirstSpaceBreak.TabIndex = 16 + Me.otherFirstSpaceBreak.Tag = "radio_otherfirstspacebrk" + Me.otherFirstSpaceBreak.Text = "Break on first" + Me.otherFirstSpaceBreak.UseVisualStyleBackColor = True + ' + 'Panel13 + ' + Me.Panel13.Controls.Add(Me.otherNumBreakAfter) + Me.Panel13.Controls.Add(Me.otherNumBreakb4) + Me.Panel13.Controls.Add(Me.othernumnobreak) + Me.Panel13.Controls.Add(Me.Label83) + Me.Panel13.Location = New System.Drawing.Point(0, 56) + Me.Panel13.Name = "Panel13" + Me.Panel13.Size = New System.Drawing.Size(376, 24) + Me.Panel13.TabIndex = 15 + ' + 'otherNumBreakAfter + ' + Me.otherNumBreakAfter.AutoSize = True + Me.otherNumBreakAfter.Location = New System.Drawing.Point(280, 4) + Me.otherNumBreakAfter.Name = "otherNumBreakAfter" + Me.otherNumBreakAfter.Size = New System.Drawing.Size(77, 17) + Me.otherNumBreakAfter.TabIndex = 19 + Me.otherNumBreakAfter.Tag = "radio_othernumbrkafter" + Me.otherNumBreakAfter.Text = "Break after" + Me.otherNumBreakAfter.UseVisualStyleBackColor = True + ' + 'otherNumBreakb4 + ' + Me.otherNumBreakb4.AutoSize = True + Me.otherNumBreakb4.Location = New System.Drawing.Point(184, 4) + Me.otherNumBreakb4.Name = "otherNumBreakb4" + Me.otherNumBreakb4.Size = New System.Drawing.Size(98, 17) + Me.otherNumBreakb4.TabIndex = 16 + Me.otherNumBreakb4.Tag = "radio_othernumbrkb4" + Me.otherNumBreakb4.Text = "Break before or" + Me.otherNumBreakb4.UseVisualStyleBackColor = True + ' + 'othernumnobreak + ' + Me.othernumnobreak.AutoSize = True + Me.othernumnobreak.Checked = True + Me.othernumnobreak.Location = New System.Drawing.Point(108, 4) + Me.othernumnobreak.Name = "othernumnobreak" + Me.othernumnobreak.Size = New System.Drawing.Size(69, 17) + Me.othernumnobreak.TabIndex = 17 + Me.othernumnobreak.TabStop = True + Me.othernumnobreak.Tag = "radio_othernumnobrk" + Me.othernumnobreak.Text = "No break" + Me.othernumnobreak.UseVisualStyleBackColor = True + ' + 'Label83 + ' + Me.Label83.AutoSize = True + Me.Label83.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label83.Location = New System.Drawing.Point(4, 8) + Me.Label83.Name = "Label83" + Me.Label83.Size = New System.Drawing.Size(98, 13) + Me.Label83.TabIndex = 18 + Me.Label83.Text = "Initial Numerics:" + ' + 'Panel12 + ' + Me.Panel12.Controls.Add(Me.otherListBreakAfter) + Me.Panel12.Controls.Add(Me.otherListBreakb4) + Me.Panel12.Controls.Add(Me.otherListNoBreak) + Me.Panel12.Controls.Add(Me.Label81) + Me.Panel12.Location = New System.Drawing.Point(24, 80) + Me.Panel12.Name = "Panel12" + Me.Panel12.Size = New System.Drawing.Size(368, 24) + Me.Panel12.TabIndex = 14 + ' + 'otherListBreakAfter + ' + Me.otherListBreakAfter.AutoSize = True + Me.otherListBreakAfter.Location = New System.Drawing.Point(256, 4) + Me.otherListBreakAfter.Name = "otherListBreakAfter" + Me.otherListBreakAfter.Size = New System.Drawing.Size(108, 17) + Me.otherListBreakAfter.TabIndex = 12 + Me.otherListBreakAfter.Tag = "radio_otherbrkafter" + Me.otherListBreakAfter.Text = "after character(s):" + Me.otherListBreakAfter.UseVisualStyleBackColor = True + ' + 'otherListBreakb4 + ' + Me.otherListBreakb4.AutoSize = True + Me.otherListBreakb4.Location = New System.Drawing.Point(160, 4) + Me.otherListBreakb4.Name = "otherListBreakb4" + Me.otherListBreakb4.Size = New System.Drawing.Size(98, 17) + Me.otherListBreakb4.TabIndex = 10 + Me.otherListBreakb4.Tag = "radio_otherbrkb4" + Me.otherListBreakb4.Text = "Break before or" + Me.otherListBreakb4.UseVisualStyleBackColor = True + ' + 'otherListNoBreak + ' + Me.otherListNoBreak.AutoSize = True + Me.otherListNoBreak.Checked = True + Me.otherListNoBreak.Location = New System.Drawing.Point(84, 4) + Me.otherListNoBreak.Name = "otherListNoBreak" + Me.otherListNoBreak.Size = New System.Drawing.Size(69, 17) + Me.otherListNoBreak.TabIndex = 11 + Me.otherListNoBreak.TabStop = True + Me.otherListNoBreak.Tag = "radio_othernolistbrk" + Me.otherListNoBreak.Text = "No break" + Me.otherListNoBreak.UseVisualStyleBackColor = True + ' + 'Label81 + ' + Me.Label81.AutoSize = True + Me.Label81.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label81.Location = New System.Drawing.Point(36, 8) + Me.Label81.Name = "Label81" + Me.Label81.Size = New System.Drawing.Size(42, 13) + Me.Label81.TabIndex = 8 + Me.Label81.Text = "Other:" + ' + 'otherBreak + ' + Me.otherBreak.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(220, Byte), Integer)) + Me.otherBreak.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.otherBreak.Location = New System.Drawing.Point(396, 72) + Me.otherBreak.Multiline = True + Me.otherBreak.Name = "otherBreak" + Me.otherBreak.ScrollBars = System.Windows.Forms.ScrollBars.Vertical + Me.otherBreak.Size = New System.Drawing.Size(88, 92) + Me.otherBreak.TabIndex = 9 + Me.otherBreak.Tag = "text_otherlist" + Me.ToolTip1.SetToolTip(Me.otherBreak, "One or more characters or phrases that will cause a line break.") + ' + 'otherAllSpaceBreak + ' + Me.otherAllSpaceBreak.AutoSize = True + Me.otherAllSpaceBreak.Checked = True + Me.otherAllSpaceBreak.Location = New System.Drawing.Point(184, 40) + Me.otherAllSpaceBreak.Name = "otherAllSpaceBreak" + Me.otherAllSpaceBreak.Size = New System.Drawing.Size(81, 17) + Me.otherAllSpaceBreak.TabIndex = 5 + Me.otherAllSpaceBreak.TabStop = True + Me.otherAllSpaceBreak.Tag = "radio_otherallspacebrk" + Me.otherAllSpaceBreak.Text = "Break on all" + Me.otherAllSpaceBreak.UseVisualStyleBackColor = True + ' + 'otherSpaceNoBreak + ' + Me.otherSpaceNoBreak.AutoSize = True + Me.otherSpaceNoBreak.Location = New System.Drawing.Point(108, 40) + Me.otherSpaceNoBreak.Name = "otherSpaceNoBreak" + Me.otherSpaceNoBreak.Size = New System.Drawing.Size(69, 17) + Me.otherSpaceNoBreak.TabIndex = 6 + Me.otherSpaceNoBreak.Tag = "radio_othernospacebrk" + Me.otherSpaceNoBreak.Text = "No break" + Me.otherSpaceNoBreak.UseVisualStyleBackColor = True + ' + 'Label80 + ' + Me.Label80.AutoSize = True + Me.Label80.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label80.Location = New System.Drawing.Point(48, 44) + Me.Label80.Name = "Label80" + Me.Label80.Size = New System.Drawing.Size(53, 13) + Me.Label80.TabIndex = 7 + Me.Label80.Text = "Spaces:" + ' + 'TabPage9 + ' + Me.TabPage9.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.TabPage9.Controls.Add(Me.Label111) + Me.TabPage9.Controls.Add(Me.Label62) + Me.TabPage9.Controls.Add(Me.spaceBreak) + Me.TabPage9.Controls.Add(Me.issueListBreakAfter) + Me.TabPage9.Controls.Add(Me.issueListBreakB4) + Me.TabPage9.Controls.Add(Me.issueListNoBreak) + Me.TabPage9.Controls.Add(Me.issueRemoveAfter) + Me.TabPage9.Controls.Add(Me.issueBreak) + Me.TabPage9.Controls.Add(Me.BreakParen) + Me.TabPage9.Controls.Add(Me.ProtectColon) + Me.TabPage9.Controls.Add(Me.ColonBreak) + Me.TabPage9.ForeColor = System.Drawing.Color.Black + Me.TabPage9.Location = New System.Drawing.Point(4, 22) + Me.TabPage9.Name = "TabPage9" + Me.TabPage9.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage9.Size = New System.Drawing.Size(496, 178) + Me.TabPage9.TabIndex = 5 + Me.TabPage9.Text = "Holdings" + ' + 'Label111 + ' + Me.Label111.ForeColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.Label111.Location = New System.Drawing.Point(96, 144) + Me.Label111.Name = "Label111" + Me.Label111.Size = New System.Drawing.Size(248, 20) + Me.Label111.TabIndex = 53 + Me.Label111.Text = "*Use tildes (~) to include leading or trailing spaces." + ' + 'Label62 + ' + Me.Label62.Font = New System.Drawing.Font("Microsoft Sans Serif", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label62.ForeColor = System.Drawing.Color.Blue + Me.Label62.Location = New System.Drawing.Point(436, 80) + Me.Label62.Name = "Label62" + Me.Label62.Size = New System.Drawing.Size(16, 16) + Me.Label62.TabIndex = 52 + Me.Label62.Text = "*" + ' + 'spaceBreak + ' + Me.spaceBreak.AutoSize = True + Me.spaceBreak.Location = New System.Drawing.Point(40, 60) + Me.spaceBreak.Name = "spaceBreak" + Me.spaceBreak.Size = New System.Drawing.Size(195, 17) + Me.spaceBreak.TabIndex = 51 + Me.spaceBreak.Tag = "check_holdingsspacebreak" + Me.spaceBreak.Text = "Break on spaces between elements" + Me.ToolTip1.SetToolTip(Me.spaceBreak, "Break on spaces between holdings elements.") + Me.spaceBreak.UseVisualStyleBackColor = True + ' + 'issueListBreakAfter + ' + Me.issueListBreakAfter.AutoSize = True + Me.issueListBreakAfter.Location = New System.Drawing.Point(240, 84) + Me.issueListBreakAfter.Name = "issueListBreakAfter" + Me.issueListBreakAfter.Size = New System.Drawing.Size(108, 17) + Me.issueListBreakAfter.TabIndex = 50 + Me.issueListBreakAfter.Tag = "radio_issuebrkafter" + Me.issueListBreakAfter.Text = "after character(s):" + Me.issueListBreakAfter.UseVisualStyleBackColor = True + ' + 'issueListBreakB4 + ' + Me.issueListBreakB4.AutoSize = True + Me.issueListBreakB4.Location = New System.Drawing.Point(144, 84) + Me.issueListBreakB4.Name = "issueListBreakB4" + Me.issueListBreakB4.Size = New System.Drawing.Size(98, 17) + Me.issueListBreakB4.TabIndex = 48 + Me.issueListBreakB4.Tag = "radio_issuebrkb4" + Me.issueListBreakB4.Text = "Break before or" + Me.issueListBreakB4.UseVisualStyleBackColor = True + ' + 'issueListNoBreak + ' + Me.issueListNoBreak.AutoSize = True + Me.issueListNoBreak.Checked = True + Me.issueListNoBreak.Location = New System.Drawing.Point(40, 84) + Me.issueListNoBreak.Name = "issueListNoBreak" + Me.issueListNoBreak.Size = New System.Drawing.Size(101, 17) + Me.issueListNoBreak.TabIndex = 49 + Me.issueListNoBreak.TabStop = True + Me.issueListNoBreak.Tag = "radio_issuenolistbrk" + Me.issueListNoBreak.Text = "No other breaks" + Me.issueListNoBreak.UseVisualStyleBackColor = True + ' + 'issueRemoveAfter + ' + Me.issueRemoveAfter.AutoSize = True + Me.issueRemoveAfter.Location = New System.Drawing.Point(144, 108) + Me.issueRemoveAfter.Name = "issueRemoveAfter" + Me.issueRemoveAfter.Size = New System.Drawing.Size(190, 17) + Me.issueRemoveAfter.TabIndex = 47 + Me.issueRemoveAfter.Tag = "check_issueremoveother" + Me.issueRemoveAfter.Text = "Remove character(s) from holdings" + Me.issueRemoveAfter.UseVisualStyleBackColor = True + ' + 'issueBreak + ' + Me.issueBreak.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(220, Byte), Integer)) + Me.issueBreak.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.issueBreak.Location = New System.Drawing.Point(348, 80) + Me.issueBreak.Multiline = True + Me.issueBreak.Name = "issueBreak" + Me.issueBreak.ScrollBars = System.Windows.Forms.ScrollBars.Vertical + Me.issueBreak.Size = New System.Drawing.Size(88, 84) + Me.issueBreak.TabIndex = 46 + Me.issueBreak.Tag = "text_issuelist" + Me.ToolTip1.SetToolTip(Me.issueBreak, "One or more characters or phrases that will cause a line break.") + ' + 'BreakParen + ' + Me.BreakParen.AutoSize = True + Me.BreakParen.Checked = True + Me.BreakParen.CheckState = System.Windows.Forms.CheckState.Checked + Me.BreakParen.Location = New System.Drawing.Point(40, 12) + Me.BreakParen.Name = "BreakParen" + Me.BreakParen.Size = New System.Drawing.Size(143, 17) + Me.BreakParen.TabIndex = 44 + Me.BreakParen.Tag = "check_issuebreakparen" + Me.BreakParen.Text = "Break on ""("" in long lines" + Me.ToolTip1.SetToolTip(Me.BreakParen, "Break on open parenthesis if line excedes max. characters") + Me.BreakParen.UseVisualStyleBackColor = True + ' + 'ProtectColon + ' + Me.ProtectColon.AutoSize = True + Me.ProtectColon.Checked = True + Me.ProtectColon.CheckState = System.Windows.Forms.CheckState.Checked + Me.ProtectColon.Enabled = False + Me.ProtectColon.Location = New System.Drawing.Point(144, 36) + Me.ProtectColon.Name = "ProtectColon" + Me.ProtectColon.Size = New System.Drawing.Size(210, 17) + Me.ProtectColon.TabIndex = 43 + Me.ProtectColon.Tag = "check_protectcolon" + Me.ProtectColon.Text = "...but leave it visible inside parentheses" + Me.ToolTip1.SetToolTip(Me.ProtectColon, "Leave colon visible when inside parentheses") + Me.ProtectColon.UseVisualStyleBackColor = True + ' + 'ColonBreak + ' + Me.ColonBreak.AutoSize = True + Me.ColonBreak.Checked = True + Me.ColonBreak.CheckState = System.Windows.Forms.CheckState.Checked + Me.ColonBreak.Location = New System.Drawing.Point(40, 36) + Me.ColonBreak.Name = "ColonBreak" + Me.ColonBreak.Size = New System.Drawing.Size(107, 17) + Me.ColonBreak.TabIndex = 42 + Me.ColonBreak.Tag = "check_issuebreakcolon" + Me.ColonBreak.Text = "Break on colon..." + Me.ToolTip1.SetToolTip(Me.ColonBreak, "Break on colon") + Me.ColonBreak.UseVisualStyleBackColor = True + ' + 'Label73 + ' + Me.Label73.AutoSize = True + Me.Label73.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label73.Location = New System.Drawing.Point(4, 4) + Me.Label73.Name = "Label73" + Me.Label73.Size = New System.Drawing.Size(449, 16) + Me.Label73.TabIndex = 37 + Me.Label73.Text = "Tweak and Test SpineOMatic's Call Number && Holdings Parsing" + ' + 'Label71 + ' + Me.Label71.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.Label71.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label71.ForeColor = System.Drawing.Color.White + Me.Label71.Location = New System.Drawing.Point(504, 0) + Me.Label71.Name = "Label71" + Me.Label71.Size = New System.Drawing.Size(20, 20) + Me.Label71.TabIndex = 36 + Me.Label71.Text = "X" + ' + 'GroupBox2 + ' + Me.GroupBox2.BackColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.GroupBox2.Controls.Add(Me.testComboBox) + Me.GroupBox2.Controls.Add(Me.Label59) + Me.GroupBox2.Controls.Add(Me.Label58) + Me.GroupBox2.Controls.Add(Me.testCallNumType) + Me.GroupBox2.Controls.Add(Me.btnTestParser) + Me.GroupBox2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.GroupBox2.ForeColor = System.Drawing.Color.Black + Me.GroupBox2.Location = New System.Drawing.Point(12, 244) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(508, 80) + Me.GroupBox2.TabIndex = 35 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Test parsing" + ' + 'testComboBox + ' + Me.testComboBox.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.testComboBox.FormattingEnabled = True + Me.testComboBox.Items.AddRange(New Object() {"SD373 .M28 1950 [LC]", "QA 76.6 .J38 H674 2006 [LC]", "PZ7.M516353 Wi 2011 [LC child. lit]", "PZ7.R79835 Ham 1999b [LC child. lit]", "WL 108 H684d 1988 [NLM]", "WL 300 R797c 1973 [NLM]", "006.78 DREAM C552 [Dewey]", "658.9945 C245 2010/2 [Dewey]", "388.1446392 BAR [Dewey]", "HE 20.4002:AD 9/2 [SuDoc]", "D 101.11:11-5835-241-13 & P [SuDoc]", "Y 3.N 88:10/0868 [SuDoc]", "I 19.81:31099-H 6-TF-024/991 [SuDoc]", "PREX 3.10/4:SO 8/990/SH.2 [SuDoc]", "DVD 15035 MEDIA [Other]"}) + Me.testComboBox.Location = New System.Drawing.Point(16, 20) + Me.testComboBox.Name = "testComboBox" + Me.testComboBox.Size = New System.Drawing.Size(252, 23) + Me.testComboBox.TabIndex = 37 + ' + 'Label59 + ' + Me.Label59.BackColor = System.Drawing.Color.FromArgb(CType(CType(220, Byte), Integer), CType(CType(220, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.Label59.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label59.Location = New System.Drawing.Point(320, 20) + Me.Label59.Name = "Label59" + Me.Label59.Size = New System.Drawing.Size(180, 52) + Me.Label59.TabIndex = 35 + Me.Label59.Text = "Enter a call number and a 'type,' or select one of the samples provided. Click 't" & _ + "est' to see how SpineOMatic will parse it. " + ' + 'Label58 + ' + Me.Label58.AutoSize = True + Me.Label58.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label58.Location = New System.Drawing.Point(12, 52) + Me.Label58.Name = "Label58" + Me.Label58.Size = New System.Drawing.Size(88, 13) + Me.Label58.TabIndex = 3 + Me.Label58.Text = "Call number type:" + ' + 'testCallNumType + ' + Me.testCallNumType.Location = New System.Drawing.Point(100, 48) + Me.testCallNumType.Name = "testCallNumType" + Me.testCallNumType.Size = New System.Drawing.Size(20, 20) + Me.testCallNumType.TabIndex = 2 + Me.testCallNumType.Text = "0" + Me.ToolTip1.SetToolTip(Me.testCallNumType, "Optional call number type.") + ' + 'btnTestParser + ' + Me.btnTestParser.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnTestParser.Location = New System.Drawing.Point(276, 20) + Me.btnTestParser.Name = "btnTestParser" + Me.btnTestParser.Size = New System.Drawing.Size(40, 20) + Me.btnTestParser.TabIndex = 1 + Me.btnTestParser.Text = "test" + Me.ToolTip1.SetToolTip(Me.btnTestParser, "Click to view how the call number will be parsed by SpineOMatic.") + Me.btnTestParser.UseVisualStyleBackColor = True + ' + 'showFormatInfo + ' + Me.showFormatInfo.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.showFormatInfo.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.showFormatInfo.Cursor = System.Windows.Forms.Cursors.Arrow + Me.showFormatInfo.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.showFormatInfo.ForeColor = System.Drawing.Color.Blue + Me.showFormatInfo.Location = New System.Drawing.Point(304, 172) + Me.showFormatInfo.Name = "showFormatInfo" + Me.showFormatInfo.Size = New System.Drawing.Size(64, 13) + Me.showFormatInfo.TabIndex = 61 + Me.showFormatInfo.Text = " these codes" + ' + 'FTPwarning2 + ' + Me.FTPwarning2.AutoSize = True + Me.FTPwarning2.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.FTPwarning2.ForeColor = System.Drawing.Color.Red + Me.FTPwarning2.Location = New System.Drawing.Point(156, 4) + Me.FTPwarning2.Name = "FTPwarning2" + Me.FTPwarning2.Size = New System.Drawing.Size(266, 15) + Me.FTPwarning2.TabIndex = 64 + Me.FTPwarning2.Text = "==>FTP printing does not support pocket labels." + Me.FTPwarning2.Visible = False + ' + 'Label91 + ' + Me.Label91.Location = New System.Drawing.Point(180, 172) + Me.Label91.Name = "Label91" + Me.Label91.Size = New System.Drawing.Size(124, 16) + Me.Label91.TabIndex = 58 + Me.Label91.Text = "* Format by prefixing with" + Me.ToolTip1.SetToolTip(Me.Label91, "Asterisked fields can be prefixed with formatting characters.") + ' + 'chkUsePocketLabels + ' + Me.chkUsePocketLabels.AutoSize = True + Me.chkUsePocketLabels.Location = New System.Drawing.Point(432, 8) + Me.chkUsePocketLabels.Name = "chkUsePocketLabels" + Me.chkUsePocketLabels.Size = New System.Drawing.Size(94, 17) + Me.chkUsePocketLabels.TabIndex = 59 + Me.chkUsePocketLabels.Tag = "check_pocketLabels" + Me.chkUsePocketLabels.Text = "Pocket Labels" + Me.ToolTip1.SetToolTip(Me.chkUsePocketLabels, "Create spine & pocket label sets.") + Me.chkUsePocketLabels.UseVisualStyleBackColor = True + ' + 'nonFlagWrapWidth + ' + Me.nonFlagWrapWidth.Location = New System.Drawing.Point(64, 228) + Me.nonFlagWrapWidth.Name = "nonFlagWrapWidth" + Me.nonFlagWrapWidth.Size = New System.Drawing.Size(24, 20) + Me.nonFlagWrapWidth.TabIndex = 53 + Me.nonFlagWrapWidth.Tag = "text_nonflagwrapwidth" + Me.nonFlagWrapWidth.Text = "1.0" + Me.nonFlagWrapWidth.Visible = False + ' + 'flagWrapWidth + ' + Me.flagWrapWidth.Location = New System.Drawing.Point(36, 228) + Me.flagWrapWidth.Name = "flagWrapWidth" + Me.flagWrapWidth.Size = New System.Drawing.Size(24, 20) + Me.flagWrapWidth.TabIndex = 52 + Me.flagWrapWidth.Tag = "text_flagwrapwidth" + Me.flagWrapWidth.Text = "2.4" + Me.flagWrapWidth.Visible = False + ' + 'nonFlagDefaults + ' + Me.nonFlagDefaults.Location = New System.Drawing.Point(28, 248) + Me.nonFlagDefaults.Name = "nonFlagDefaults" + Me.nonFlagDefaults.Size = New System.Drawing.Size(56, 20) + Me.nonFlagDefaults.TabIndex = 48 + Me.nonFlagDefaults.Tag = "text_nonflagdefaults" + Me.nonFlagDefaults.Text = "0.1|0.1|0.2|1.0|0.0|2.0|0.0|5|8|7|9|true|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "" & _ + "" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "" + Me.nonFlagDefaults.Visible = False + ' + 'flagDefaults + ' + Me.flagDefaults.Location = New System.Drawing.Point(28, 268) + Me.flagDefaults.Name = "flagDefaults" + Me.flagDefaults.Size = New System.Drawing.Size(56, 20) + Me.flagDefaults.TabIndex = 47 + Me.flagDefaults.Tag = "text_flagdefaults" + Me.flagDefaults.Text = "0.5|0.1|0.2|2.7|0.0|7.0|0.0|1|4|30|50|false|!" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "~" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "%" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "#" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "~=" + Me.flagDefaults.Visible = False + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.tweakTest) + Me.GroupBox1.Controls.Add(Me.inOtherSource) + Me.GroupBox1.Controls.Add(Me.chkIncludeOther) + Me.GroupBox1.Controls.Add(Me.chkIncludeHoldings) + Me.GroupBox1.Controls.Add(Me.radio_useSOMparsing) + Me.GroupBox1.Controls.Add(Me.parsingSource) + Me.GroupBox1.Controls.Add(Me.useExlibrisParsing) + Me.GroupBox1.Controls.Add(Me.inCallNumSource) + Me.GroupBox1.Controls.Add(Me.inIssueLevelSource) + Me.GroupBox1.Controls.Add(Me.Label87) + Me.GroupBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.GroupBox1.Location = New System.Drawing.Point(36, 52) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(460, 116) + Me.GroupBox1.TabIndex = 45 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Call Number Parsing Options" + ' + 'tweakTest + ' + Me.tweakTest.AutoSize = True + Me.tweakTest.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, CType((System.Drawing.FontStyle.Italic Or System.Drawing.FontStyle.Underline), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.tweakTest.ForeColor = System.Drawing.Color.Blue + Me.tweakTest.Location = New System.Drawing.Point(380, 64) + Me.tweakTest.Name = "tweakTest" + Me.tweakTest.Size = New System.Drawing.Size(73, 13) + Me.tweakTest.TabIndex = 50 + Me.tweakTest.Text = "Tweak && Test" + Me.ToolTip1.SetToolTip(Me.tweakTest, "Lets you test SpineOMatic's parsing routines, and change parsing behavior.") + ' + 'inOtherSource + ' + Me.inOtherSource.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.inOtherSource.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inOtherSource.Location = New System.Drawing.Point(132, 94) + Me.inOtherSource.Name = "inOtherSource" + Me.inOtherSource.Size = New System.Drawing.Size(228, 20) + Me.inOtherSource.TabIndex = 48 + Me.inOtherSource.Tag = "text_inothersource" + Me.ToolTip1.SetToolTip(Me.inOtherSource, "Doubleclick to select an XML field.") + ' + 'chkIncludeOther + ' + Me.chkIncludeOther.AutoSize = True + Me.chkIncludeOther.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.chkIncludeOther.Location = New System.Drawing.Point(8, 96) + Me.chkIncludeOther.Name = "chkIncludeOther" + Me.chkIncludeOther.Size = New System.Drawing.Size(124, 17) + Me.chkIncludeOther.TabIndex = 47 + Me.chkIncludeOther.Tag = "check_includeother" + Me.chkIncludeOther.Text = "Include other value *" + Me.ToolTip1.SetToolTip(Me.chkIncludeOther, "Include any other XML element at the end of the spine label.") + Me.chkIncludeOther.UseVisualStyleBackColor = True + ' + 'chkIncludeHoldings + ' + Me.chkIncludeHoldings.AutoSize = True + Me.chkIncludeHoldings.Checked = True + Me.chkIncludeHoldings.CheckState = System.Windows.Forms.CheckState.Checked + Me.chkIncludeHoldings.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.chkIncludeHoldings.Location = New System.Drawing.Point(8, 74) + Me.chkIncludeHoldings.Name = "chkIncludeHoldings" + Me.chkIncludeHoldings.Size = New System.Drawing.Size(103, 17) + Me.chkIncludeHoldings.TabIndex = 46 + Me.chkIncludeHoldings.Tag = "check_includeholdings" + Me.chkIncludeHoldings.Text = "Include holdings" + Me.ToolTip1.SetToolTip(Me.chkIncludeHoldings, "Parse and include the holdings info on the spine label.") + Me.chkIncludeHoldings.UseVisualStyleBackColor = True + ' + 'radio_useSOMparsing + ' + Me.radio_useSOMparsing.AutoSize = True + Me.radio_useSOMparsing.Checked = True + Me.radio_useSOMparsing.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.radio_useSOMparsing.Location = New System.Drawing.Point(8, 50) + Me.radio_useSOMparsing.Name = "radio_useSOMparsing" + Me.radio_useSOMparsing.Size = New System.Drawing.Size(123, 17) + Me.radio_useSOMparsing.TabIndex = 1 + Me.radio_useSOMparsing.TabStop = True + Me.radio_useSOMparsing.Text = "SpineOMatic parsing" + Me.ToolTip1.SetToolTip(Me.radio_useSOMparsing, "Let SpineOMatic parse the call number.") + Me.radio_useSOMparsing.UseVisualStyleBackColor = True + ' + 'parsingSource + ' + Me.parsingSource.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.parsingSource.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.parsingSource.Location = New System.Drawing.Point(132, 24) + Me.parsingSource.Name = "parsingSource" + Me.parsingSource.Size = New System.Drawing.Size(228, 20) + Me.parsingSource.TabIndex = 44 + Me.parsingSource.Tag = "text_parsingsource" + Me.parsingSource.Text = "<parsed_call_number>" + Me.ToolTip1.SetToolTip(Me.parsingSource, "Doubleclick to select an XML field.") + ' + 'useExlibrisParsing + ' + Me.useExlibrisParsing.AutoSize = True + Me.useExlibrisParsing.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.useExlibrisParsing.Location = New System.Drawing.Point(8, 26) + Me.useExlibrisParsing.Name = "useExlibrisParsing" + Me.useExlibrisParsing.Size = New System.Drawing.Size(101, 17) + Me.useExlibrisParsing.TabIndex = 0 + Me.useExlibrisParsing.Tag = "radio_useexlibrisparsing" + Me.useExlibrisParsing.Text = "Ex Libris parsing" + Me.ToolTip1.SetToolTip(Me.useExlibrisParsing, "Use the parsed call number provided by Ex Libris in the Alma XML record.") + Me.useExlibrisParsing.UseVisualStyleBackColor = True + ' + 'inCallNumSource + ' + Me.inCallNumSource.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.inCallNumSource.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inCallNumSource.Location = New System.Drawing.Point(132, 48) + Me.inCallNumSource.Name = "inCallNumSource" + Me.inCallNumSource.Size = New System.Drawing.Size(228, 20) + Me.inCallNumSource.TabIndex = 1 + Me.inCallNumSource.Tag = "text_callnumsource" + Me.inCallNumSource.Text = "<call_number>" + Me.ToolTip1.SetToolTip(Me.inCallNumSource, "Doubleclick to select an XML field.") + ' + 'inIssueLevelSource + ' + Me.inIssueLevelSource.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.inIssueLevelSource.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.inIssueLevelSource.Location = New System.Drawing.Point(132, 71) + Me.inIssueLevelSource.Name = "inIssueLevelSource" + Me.inIssueLevelSource.Size = New System.Drawing.Size(228, 20) + Me.inIssueLevelSource.TabIndex = 3 + Me.inIssueLevelSource.Tag = "text_lcissuedescsource" + Me.inIssueLevelSource.Text = "<issue_level_description>" + Me.ToolTip1.SetToolTip(Me.inIssueLevelSource, "Doubleclick to select an XML field.") + ' + 'Label87 + ' + Me.Label87.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.Label87.Font = New System.Drawing.Font("Wingdings 3", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(2, Byte)) + Me.Label87.ForeColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.Label87.Location = New System.Drawing.Point(356, 60) + Me.Label87.Name = "Label87" + Me.Label87.Size = New System.Drawing.Size(24, 24) + Me.Label87.TabIndex = 54 + Me.Label87.Text = "u" + ' + 'FlagSlips + ' + Me.FlagSlips.AutoSize = True + Me.FlagSlips.Location = New System.Drawing.Point(84, 188) + Me.FlagSlips.Name = "FlagSlips" + Me.FlagSlips.Size = New System.Drawing.Size(90, 17) + Me.FlagSlips.TabIndex = 36 + Me.FlagSlips.Tag = "check_flagslips" + Me.FlagSlips.Text = "Print flag slips" + Me.ToolTip1.SetToolTip(Me.FlagSlips, "Create flag slips for items that cannot have adhesive labels attached.") + Me.FlagSlips.UseVisualStyleBackColor = True + ' + 'Label33 + ' + Me.Label33.AutoSize = True + Me.Label33.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label33.Location = New System.Drawing.Point(4, 212) + Me.Label33.Name = "Label33" + Me.Label33.Size = New System.Drawing.Size(93, 13) + Me.Label33.TabIndex = 33 + Me.Label33.Text = "XML sources: *" + ' + 'Label28 + ' + Me.Label28.AutoSize = True + Me.Label28.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label28.Location = New System.Drawing.Point(4, 8) + Me.Label28.Name = "Label28" + Me.Label28.Size = New System.Drawing.Size(85, 16) + Me.Label28.TabIndex = 29 + Me.Label28.Text = "Label type:" + ' + 'Spine + ' + Me.Spine.AutoSize = True + Me.Spine.Checked = True + Me.Spine.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Spine.Location = New System.Drawing.Point(4, 30) + Me.Spine.Name = "Spine" + Me.Spine.Size = New System.Drawing.Size(66, 20) + Me.Spine.TabIndex = 27 + Me.Spine.TabStop = True + Me.Spine.Tag = "radio_spine" + Me.Spine.Text = "Spine" + Me.ToolTip1.SetToolTip(Me.Spine, "Create standard spine label") + Me.Spine.UseVisualStyleBackColor = True + ' + 'CustomLabel + ' + Me.CustomLabel.AutoSize = True + Me.CustomLabel.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.CustomLabel.Location = New System.Drawing.Point(4, 184) + Me.CustomLabel.Name = "CustomLabel" + Me.CustomLabel.Size = New System.Drawing.Size(77, 20) + Me.CustomLabel.TabIndex = 28 + Me.CustomLabel.Tag = "radio_currper" + Me.CustomLabel.Text = "Custom" + Me.ToolTip1.SetToolTip(Me.CustomLabel, "Create custom label using XML source names and/or free text.") + Me.CustomLabel.UseVisualStyleBackColor = True + ' + 'CustomText + ' + Me.CustomText.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.CustomText.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.CustomText.Location = New System.Drawing.Point(100, 212) + Me.CustomText.Multiline = True + Me.CustomText.Name = "CustomText" + Me.CustomText.ScrollBars = System.Windows.Forms.ScrollBars.Vertical + Me.CustomText.Size = New System.Drawing.Size(272, 112) + Me.CustomText.TabIndex = 32 + Me.CustomText.Tag = "text_custom" + Me.ToolTip1.SetToolTip(Me.CustomText, "Enter XML source names, one per line, or doubleclick to select XML fields.") + ' + 'formatInfoPanel + ' + Me.formatInfoPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.formatInfoPanel.Controls.Add(Me.suppress3) + Me.formatInfoPanel.Controls.Add(Me.suppress2) + Me.formatInfoPanel.Controls.Add(Me.suppress1) + Me.formatInfoPanel.Controls.Add(Me.wrapWidth) + Me.formatInfoPanel.Controls.Add(Me.closeFormatInfo) + Me.formatInfoPanel.Controls.Add(Me.Label45) + Me.formatInfoPanel.Location = New System.Drawing.Point(376, 168) + Me.formatInfoPanel.Name = "formatInfoPanel" + Me.formatInfoPanel.Size = New System.Drawing.Size(148, 160) + Me.formatInfoPanel.TabIndex = 63 + Me.formatInfoPanel.Visible = False + ' + 'suppress3 + ' + Me.suppress3.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.suppress3.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.suppress3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.suppress3.Location = New System.Drawing.Point(108, 136) + Me.suppress3.Margin = New System.Windows.Forms.Padding(0) + Me.suppress3.Name = "suppress3" + Me.suppress3.Size = New System.Drawing.Size(32, 13) + Me.suppress3.TabIndex = 69 + Me.suppress3.Tag = "text_suppress3" + Me.suppress3.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + Me.ToolTip1.SetToolTip(Me.suppress3, "Suppress display if XML field has this value") + ' + 'suppress2 + ' + Me.suppress2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.suppress2.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.suppress2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.suppress2.Location = New System.Drawing.Point(68, 136) + Me.suppress2.Margin = New System.Windows.Forms.Padding(0) + Me.suppress2.Name = "suppress2" + Me.suppress2.Size = New System.Drawing.Size(32, 13) + Me.suppress2.TabIndex = 68 + Me.suppress2.Tag = "text_suppress2" + Me.suppress2.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + Me.ToolTip1.SetToolTip(Me.suppress2, "Suppress display if XML field has this value") + ' + 'suppress1 + ' + Me.suppress1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.suppress1.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.suppress1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.suppress1.Location = New System.Drawing.Point(28, 136) + Me.suppress1.Margin = New System.Windows.Forms.Padding(0) + Me.suppress1.Name = "suppress1" + Me.suppress1.Size = New System.Drawing.Size(32, 13) + Me.suppress1.TabIndex = 67 + Me.suppress1.Tag = "text_suppress1" + Me.suppress1.Text = "0" + Me.suppress1.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + Me.ToolTip1.SetToolTip(Me.suppress1, "Suppress display if XML field has this value") + ' + 'wrapWidth + ' + Me.wrapWidth.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.wrapWidth.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.wrapWidth.Location = New System.Drawing.Point(116, 32) + Me.wrapWidth.Name = "wrapWidth" + Me.wrapWidth.Size = New System.Drawing.Size(32, 13) + Me.wrapWidth.TabIndex = 51 + Me.wrapWidth.Tag = "" + Me.wrapWidth.Text = "1.0" + Me.ToolTip1.SetToolTip(Me.wrapWidth, "The width used when wrapping with the '=' format code.") + ' + 'closeFormatInfo + ' + Me.closeFormatInfo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.closeFormatInfo.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.closeFormatInfo.Cursor = System.Windows.Forms.Cursors.Arrow + Me.closeFormatInfo.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.closeFormatInfo.ForeColor = System.Drawing.Color.White + Me.closeFormatInfo.Location = New System.Drawing.Point(128, 0) + Me.closeFormatInfo.Name = "closeFormatInfo" + Me.closeFormatInfo.Size = New System.Drawing.Size(16, 15) + Me.closeFormatInfo.TabIndex = 62 + Me.closeFormatInfo.Text = " X" + ' + 'Label45 + ' + Me.Label45.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label45.Location = New System.Drawing.Point(4, 4) + Me.Label45.Margin = New System.Windows.Forms.Padding(3) + Me.Label45.Name = "Label45" + Me.Label45.Size = New System.Drawing.Size(140, 152) + Me.Label45.TabIndex = 43 + Me.Label45.Text = resources.GetString("Label45.Text") + ' + 'spineDefaults + ' + Me.spineDefaults.Location = New System.Drawing.Point(28, 288) + Me.spineDefaults.Name = "spineDefaults" + Me.spineDefaults.Size = New System.Drawing.Size(56, 20) + Me.spineDefaults.TabIndex = 65 + Me.spineDefaults.Tag = "text_spinedefaults" + Me.spineDefaults.Text = "0.1|0.1|0.2|1.0|0.0|2.0|0.0|5|8|7|9|true|" + Me.spineDefaults.Visible = False + ' + 'pocketDefaults + ' + Me.pocketDefaults.Location = New System.Drawing.Point(28, 308) + Me.pocketDefaults.Name = "pocketDefaults" + Me.pocketDefaults.Size = New System.Drawing.Size(56, 20) + Me.pocketDefaults.TabIndex = 66 + Me.pocketDefaults.Tag = "text_pocketdefaults" + Me.pocketDefaults.Text = "0.1|0.1|0.2|1.0|0.0|2.0|0.0|5|8|7|9|true|" + Me.pocketDefaults.Visible = False + ' + 'TabPage3 + ' + Me.TabPage3.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.TabPage3.Controls.Add(Me.Label57) + Me.TabPage3.Controls.Add(Me.radio_useSystem) + Me.TabPage3.Controls.Add(Me.radio_useLocal) + Me.TabPage3.Controls.Add(Me.Label54) + Me.TabPage3.Controls.Add(Me.Label44) + Me.TabPage3.Controls.Add(Me.btn_saveALT) + Me.TabPage3.Controls.Add(Me.btn_cancelALT) + Me.TabPage3.Controls.Add(Me.btn_deleteALT) + Me.TabPage3.Controls.Add(Me.btn_changeALT) + Me.TabPage3.Controls.Add(Me.btn_addALT) + Me.TabPage3.Controls.Add(Me.altText) + Me.TabPage3.Controls.Add(Me.altURL) + Me.TabPage3.Controls.Add(Me.Label8) + Me.TabPage3.Controls.Add(Me.TextBox14) + Me.TabPage3.Controls.Add(Me.TextBox13) + Me.TabPage3.Controls.Add(Me.Label14) + Me.TabPage3.Controls.Add(Me.Label13) + Me.TabPage3.Controls.Add(Me.SaveAboveLC) + Me.TabPage3.Controls.Add(Me.altList) + Me.TabPage3.Controls.Add(Me.ComboBox1) + Me.TabPage3.Location = New System.Drawing.Point(4, 22) + Me.TabPage3.Name = "TabPage3" + Me.TabPage3.Size = New System.Drawing.Size(528, 330) + Me.TabPage3.TabIndex = 2 + Me.TabPage3.Text = "Label Prefixes" + ' + 'Label57 + ' + Me.Label57.AutoSize = True + Me.Label57.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label57.Location = New System.Drawing.Point(4, 8) + Me.Label57.Name = "Label57" + Me.Label57.Size = New System.Drawing.Size(107, 16) + Me.Label57.TabIndex = 31 + Me.Label57.Text = "Label Prefixes" + ' + 'radio_useSystem + ' + Me.radio_useSystem.AutoSize = True + Me.radio_useSystem.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.radio_useSystem.Location = New System.Drawing.Point(120, 48) + Me.radio_useSystem.Name = "radio_useSystem" + Me.radio_useSystem.Size = New System.Drawing.Size(147, 17) + Me.radio_useSystem.TabIndex = 30 + Me.radio_useSystem.Tag = "radio_usesystem" + Me.radio_useSystem.Text = "Use system file, URL:" + Me.ToolTip1.SetToolTip(Me.radio_useSystem, "Use the server's ""aboveLabel.txt"" file as the source of the Label Prefix text.") + Me.radio_useSystem.UseVisualStyleBackColor = True + ' + 'radio_useLocal + ' + Me.radio_useLocal.AutoSize = True + Me.radio_useLocal.Checked = True + Me.radio_useLocal.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.radio_useLocal.Location = New System.Drawing.Point(120, 28) + Me.radio_useLocal.Name = "radio_useLocal" + Me.radio_useLocal.Size = New System.Drawing.Size(99, 17) + Me.radio_useLocal.TabIndex = 29 + Me.radio_useLocal.TabStop = True + Me.radio_useLocal.Tag = "radio_useLocal" + Me.radio_useLocal.Text = "Use local file" + Me.ToolTip1.SetToolTip(Me.radio_useLocal, "Use the local ""myLabelText.txt"" file as the source of the Label Prefix text.") + Me.radio_useLocal.UseVisualStyleBackColor = True + ' + 'Label54 + ' + Me.Label54.AutoSize = True + Me.Label54.ForeColor = System.Drawing.Color.Gray + Me.Label54.Location = New System.Drawing.Point(12, 256) + Me.Label54.Name = "Label54" + Me.Label54.Size = New System.Drawing.Size(202, 13) + Me.Label54.TabIndex = 28 + Me.Label54.Text = "Double click an entry to change or delete" + ' + 'Label44 + ' + Me.Label44.AutoSize = True + Me.Label44.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label44.Location = New System.Drawing.Point(12, 76) + Me.Label44.Name = "Label44" + Me.Label44.Size = New System.Drawing.Size(297, 16) + Me.Label44.TabIndex = 27 + Me.Label44.Text = "Enter: Library Name+Location Name=Label Text" + ' + 'btn_saveALT + ' + Me.btn_saveALT.ForeColor = System.Drawing.Color.Black + Me.btn_saveALT.Location = New System.Drawing.Point(452, 212) + Me.btn_saveALT.Name = "btn_saveALT" + Me.btn_saveALT.Size = New System.Drawing.Size(64, 40) + Me.btn_saveALT.TabIndex = 26 + Me.btn_saveALT.Text = "Save Changes" + Me.ToolTip1.SetToolTip(Me.btn_saveALT, "Write the table to local PC file ""myLabelText.txt""") + Me.btn_saveALT.UseVisualStyleBackColor = True + ' + 'btn_cancelALT + ' + Me.btn_cancelALT.Location = New System.Drawing.Point(456, 164) + Me.btn_cancelALT.Name = "btn_cancelALT" + Me.btn_cancelALT.Size = New System.Drawing.Size(52, 20) + Me.btn_cancelALT.TabIndex = 25 + Me.btn_cancelALT.Text = "Cancel" + Me.ToolTip1.SetToolTip(Me.btn_cancelALT, "Cancel a double click and empy the yellow input box") + Me.btn_cancelALT.UseVisualStyleBackColor = True + ' + 'btn_deleteALT + ' + Me.btn_deleteALT.Enabled = False + Me.btn_deleteALT.Location = New System.Drawing.Point(456, 140) + Me.btn_deleteALT.Name = "btn_deleteALT" + Me.btn_deleteALT.Size = New System.Drawing.Size(52, 20) + Me.btn_deleteALT.TabIndex = 24 + Me.btn_deleteALT.Text = "Delete" + Me.ToolTip1.SetToolTip(Me.btn_deleteALT, "Delete an entry from the table that was double clicked into the yellow input box") + Me.btn_deleteALT.UseVisualStyleBackColor = True + ' + 'btn_changeALT + ' + Me.btn_changeALT.Enabled = False + Me.btn_changeALT.Location = New System.Drawing.Point(456, 116) + Me.btn_changeALT.Name = "btn_changeALT" + Me.btn_changeALT.Size = New System.Drawing.Size(52, 20) + Me.btn_changeALT.TabIndex = 23 + Me.btn_changeALT.Text = "Change" + Me.ToolTip1.SetToolTip(Me.btn_changeALT, "Change the table entry that was double clicked and modified in the yellow input b" & _ + "ox") + Me.btn_changeALT.UseVisualStyleBackColor = True + ' + 'btn_addALT + ' + Me.btn_addALT.Location = New System.Drawing.Point(456, 92) + Me.btn_addALT.Name = "btn_addALT" + Me.btn_addALT.Size = New System.Drawing.Size(52, 20) + Me.btn_addALT.TabIndex = 22 + Me.btn_addALT.Text = "Add" + Me.ToolTip1.SetToolTip(Me.btn_addALT, "Add the entry in the yellow input box to the table") + Me.btn_addALT.UseVisualStyleBackColor = True + ' + 'altText + ' + Me.altText.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.altText.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.altText.Location = New System.Drawing.Point(12, 92) + Me.altText.Name = "altText" + Me.altText.Size = New System.Drawing.Size(436, 21) + Me.altText.TabIndex = 21 + Me.ToolTip1.SetToolTip(Me.altText, "Enter library+location=label text") + ' + 'altURL + ' + Me.altURL.BackColor = System.Drawing.Color.White + Me.altURL.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.altURL.Location = New System.Drawing.Point(272, 48) + Me.altURL.Name = "altURL" + Me.altURL.Size = New System.Drawing.Size(168, 13) + Me.altURL.TabIndex = 20 + Me.altURL.Tag = "text_abovelabeltexturl" + Me.ToolTip1.SetToolTip(Me.altURL, "URL to the web directory containing the ""aboveLabelText.txt"" file") + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(244, 260) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(37, 13) + Me.Label8.TabIndex = 17 + Me.Label8.Text = "Show:" + ' + 'TextBox14 + ' + Me.TextBox14.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TextBox14.Location = New System.Drawing.Point(336, 292) + Me.TextBox14.Name = "TextBox14" + Me.TextBox14.Size = New System.Drawing.Size(112, 20) + Me.TextBox14.TabIndex = 15 + Me.TextBox14.Tag = "text_locsource" + Me.TextBox14.Text = "<location_name>" + Me.ToolTip1.SetToolTip(Me.TextBox14, "XML Source field containing the location name") + ' + 'TextBox13 + ' + Me.TextBox13.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TextBox13.Location = New System.Drawing.Point(96, 292) + Me.TextBox13.Name = "TextBox13" + Me.TextBox13.Size = New System.Drawing.Size(120, 20) + Me.TextBox13.TabIndex = 14 + Me.TextBox13.Tag = "text_libsource" + Me.TextBox13.Text = "<library_name>" + Me.ToolTip1.SetToolTip(Me.TextBox13, "XML Source field containing the library name") + ' + 'Label14 + ' + Me.Label14.AutoSize = True + Me.Label14.Location = New System.Drawing.Point(244, 296) + Me.Label14.Name = "Label14" + Me.Label14.Size = New System.Drawing.Size(86, 13) + Me.Label14.TabIndex = 13 + Me.Label14.Text = "Location source:" + ' + 'Label13 + ' + Me.Label13.AutoSize = True + Me.Label13.Location = New System.Drawing.Point(16, 296) + Me.Label13.Name = "Label13" + Me.Label13.Size = New System.Drawing.Size(76, 13) + Me.Label13.TabIndex = 12 + Me.Label13.Text = "Library source:" + ' + 'SaveAboveLC + ' + Me.SaveAboveLC.Location = New System.Drawing.Point(450, 44) + Me.SaveAboveLC.Name = "SaveAboveLC" + Me.SaveAboveLC.Size = New System.Drawing.Size(64, 20) + Me.SaveAboveLC.TabIndex = 10 + Me.SaveAboveLC.Text = "Download" + Me.ToolTip1.SetToolTip(Me.SaveAboveLC, "Download the latest ""aboveLabel.txt"" file from the specified URL") + Me.SaveAboveLC.UseVisualStyleBackColor = True + ' + 'altList + ' + Me.altList.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.altList.FormattingEnabled = True + Me.altList.ItemHeight = 15 + Me.altList.Location = New System.Drawing.Point(12, 116) + Me.altList.Name = "altList" + Me.altList.Size = New System.Drawing.Size(436, 139) + Me.altList.Sorted = True + Me.altList.TabIndex = 5 + Me.ToolTip1.SetToolTip(Me.altList, "Displays list of libraries, locations, and optional Above LC Label Text") + ' + 'ComboBox1 + ' + Me.ComboBox1.FormattingEnabled = True + Me.ComboBox1.Items.AddRange(New Object() {"All Libraries", "Bapst", "Burns", "Burns - Archives", "Educational Resource Center", "Law", "O'Neill", "Social Work Library", "Theology and Ministry Library"}) + Me.ComboBox1.Location = New System.Drawing.Point(288, 256) + Me.ComboBox1.Name = "ComboBox1" + Me.ComboBox1.Size = New System.Drawing.Size(160, 21) + Me.ComboBox1.Sorted = True + Me.ComboBox1.TabIndex = 0 + Me.ComboBox1.Text = "All Libraries" + Me.ToolTip1.SetToolTip(Me.ComboBox1, "Filter the table by library name") + ' + 'TabPage4 + ' + Me.TabPage4.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.TabPage4.Controls.Add(Me.btnViewLicense) + Me.TabPage4.Controls.Add(Me.btnDocDownload) + Me.TabPage4.Controls.Add(Me.PictureBox1) + Me.TabPage4.Controls.Add(Me.chkXMLWarning) + Me.TabPage4.Controls.Add(Me.RichTextBox1) + Me.TabPage4.Controls.Add(Me.lbl_copyXMLtext) + Me.TabPage4.Controls.Add(Me.includeSettings) + Me.TabPage4.Controls.Add(Me.xmlCopyDone) + Me.TabPage4.Location = New System.Drawing.Point(4, 22) + Me.TabPage4.Name = "TabPage4" + Me.TabPage4.Size = New System.Drawing.Size(528, 330) + Me.TabPage4.TabIndex = 3 + Me.TabPage4.Text = "Current XML" + ' + 'btnViewLicense + ' + Me.btnViewLicense.Location = New System.Drawing.Point(296, 140) + Me.btnViewLicense.Name = "btnViewLicense" + Me.btnViewLicense.Size = New System.Drawing.Size(140, 28) + Me.btnViewLicense.TabIndex = 39 + Me.btnViewLicense.Text = "View License Agreement" + Me.btnViewLicense.TextAlign = System.Drawing.ContentAlignment.TopCenter + Me.ToolTip1.SetToolTip(Me.btnViewLicense, "Displays License Agreement in Notepad") + Me.btnViewLicense.UseVisualStyleBackColor = True + Me.btnViewLicense.Visible = False + ' + 'btnDocDownload + ' + Me.btnDocDownload.Location = New System.Drawing.Point(296, 72) + Me.btnDocDownload.Name = "btnDocDownload" + Me.btnDocDownload.Size = New System.Drawing.Size(140, 56) + Me.btnDocDownload.TabIndex = 37 + Me.btnDocDownload.Text = "Download / view the SpineOMatic manual." & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "(Requires MS Word)" + Me.ToolTip1.SetToolTip(Me.btnDocDownload, "Downloads documentation and displays it in MS Word") + Me.btnDocDownload.UseVisualStyleBackColor = True + Me.btnDocDownload.Visible = False + ' + 'PictureBox1 + ' + Me.PictureBox1.BackColor = System.Drawing.Color.White + Me.PictureBox1.BackgroundImage = Global.SpineLabeler.My.Resources.Resources.somBkgrnd + Me.PictureBox1.Location = New System.Drawing.Point(4, 4) + Me.PictureBox1.Name = "PictureBox1" + Me.PictureBox1.Size = New System.Drawing.Size(520, 320) + Me.PictureBox1.TabIndex = 36 + Me.PictureBox1.TabStop = False + Me.PictureBox1.Visible = False + ' + 'chkXMLWarning + ' + Me.chkXMLWarning.AutoSize = True + Me.chkXMLWarning.Location = New System.Drawing.Point(4, 4) + Me.chkXMLWarning.Name = "chkXMLWarning" + Me.chkXMLWarning.Size = New System.Drawing.Size(133, 17) + Me.chkXMLWarning.TabIndex = 38 + Me.chkXMLWarning.Tag = "check_xmlwarning" + Me.chkXMLWarning.Text = "Stop on XML warnings" + Me.ToolTip1.SetToolTip(Me.chkXMLWarning, "When checked, displays which XML field caused an error.") + Me.chkXMLWarning.UseVisualStyleBackColor = True + ' + 'RichTextBox1 + ' + Me.RichTextBox1.Font = New System.Drawing.Font("Arial Unicode MS", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.RichTextBox1.ForeColor = System.Drawing.Color.Red + Me.RichTextBox1.Location = New System.Drawing.Point(4, 24) + Me.RichTextBox1.Name = "RichTextBox1" + Me.RichTextBox1.Size = New System.Drawing.Size(520, 288) + Me.RichTextBox1.TabIndex = 0 + Me.RichTextBox1.Text = "" + ' + 'lbl_copyXMLtext + ' + Me.lbl_copyXMLtext.AutoSize = True + Me.lbl_copyXMLtext.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lbl_copyXMLtext.ForeColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.lbl_copyXMLtext.Location = New System.Drawing.Point(244, 4) + Me.lbl_copyXMLtext.Name = "lbl_copyXMLtext" + Me.lbl_copyXMLtext.Size = New System.Drawing.Size(114, 13) + Me.lbl_copyXMLtext.TabIndex = 40 + Me.lbl_copyXMLtext.Text = "Copy XML to clipboard" + Me.ToolTip1.SetToolTip(Me.lbl_copyXMLtext, "Click to copy the Current XML text to the Windows clipboard.") + ' + 'includeSettings + ' + Me.includeSettings.AutoSize = True + Me.includeSettings.ForeColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.includeSettings.Location = New System.Drawing.Point(360, 4) + Me.includeSettings.Name = "includeSettings" + Me.includeSettings.Size = New System.Drawing.Size(100, 17) + Me.includeSettings.TabIndex = 41 + Me.includeSettings.Tag = "chk_includesettings" + Me.includeSettings.Text = "Include settings" + Me.ToolTip1.SetToolTip(Me.includeSettings, "Check to add the text of the 'settings.som' file to the Current XML text when cop" & _ + "ying to the clipboard.") + Me.includeSettings.UseVisualStyleBackColor = True + ' + 'xmlCopyDone + ' + Me.xmlCopyDone.Location = New System.Drawing.Point(464, 8) + Me.xmlCopyDone.Name = "xmlCopyDone" + Me.xmlCopyDone.Size = New System.Drawing.Size(60, 12) + Me.xmlCopyDone.TabIndex = 42 + ' + 'TabPage5 + ' + Me.TabPage5.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.TabPage5.Controls.Add(Me.dontConvert) + Me.TabPage5.Controls.Add(Me.xmlShell) + Me.TabPage5.Controls.Add(Me.Label134) + Me.TabPage5.Controls.Add(Me.Label133) + Me.TabPage5.Controls.Add(Me.Label132) + Me.TabPage5.Controls.Add(Me.Label131) + Me.TabPage5.Controls.Add(Me.apiMethod) + Me.TabPage5.Controls.Add(Me.Label130) + Me.TabPage5.Controls.Add(Me.Label129) + Me.TabPage5.Controls.Add(Me.apiKey) + Me.TabPage5.Controls.Add(Me.apiURL) + Me.TabPage5.Controls.Add(Me.UseRestfulApi) + Me.TabPage5.Controls.Add(Me.ispList) + Me.TabPage5.Controls.Add(Me.updatePath) + Me.TabPage5.Controls.Add(Me.configText) + Me.TabPage5.Controls.Add(Me.logEdits) + Me.TabPage5.Controls.Add(Me.Label64) + Me.TabPage5.Controls.Add(Me.Label63) + Me.TabPage5.Controls.Add(Me.GroupBox3) + Me.TabPage5.Controls.Add(Me.Label7) + Me.TabPage5.Controls.Add(Me.inAlmaInstCode) + Me.TabPage5.Controls.Add(Me.Label53) + Me.TabPage5.Controls.Add(Me.inAlmaPassword) + Me.TabPage5.Controls.Add(Me.Label52) + Me.TabPage5.Controls.Add(Me.inAlmaUsername) + Me.TabPage5.Controls.Add(Me.Label51) + Me.TabPage5.Controls.Add(Me.inAlmaUrl) + Me.TabPage5.Controls.Add(Me.Label6) + Me.TabPage5.Controls.Add(Me.XMLPath) + Me.TabPage5.Controls.Add(Me.btnMonitor) + Me.TabPage5.Controls.Add(Me.WebServiceURL) + Me.TabPage5.Controls.Add(Me.useServlet) + Me.TabPage5.Controls.Add(Me.UseJavaApp) + Me.TabPage5.Location = New System.Drawing.Point(4, 22) + Me.TabPage5.Name = "TabPage5" + Me.TabPage5.Size = New System.Drawing.Size(528, 330) + Me.TabPage5.TabIndex = 4 + Me.TabPage5.Text = "Alma Access" + ' + 'dontConvert + ' + Me.dontConvert.AutoSize = True + Me.dontConvert.Location = New System.Drawing.Point(324, 228) + Me.dontConvert.Name = "dontConvert" + Me.dontConvert.Size = New System.Drawing.Size(115, 17) + Me.dontConvert.TabIndex = 72 + Me.dontConvert.Tag = "" + Me.dontConvert.Text = "Don't convert XML" + Me.ToolTip1.SetToolTip(Me.dontConvert, "Check this box only to view the RESTful XML in the 'Current XML' tab.") + Me.dontConvert.UseVisualStyleBackColor = True + ' + 'xmlShell + ' + Me.xmlShell.Location = New System.Drawing.Point(448, 224) + Me.xmlShell.Multiline = True + Me.xmlShell.Name = "xmlShell" + Me.xmlShell.Size = New System.Drawing.Size(72, 60) + Me.xmlShell.TabIndex = 70 + Me.xmlShell.Text = resources.GetString("xmlShell.Text") + Me.xmlShell.Visible = False + ' + 'Label134 + ' + Me.Label134.AutoSize = True + Me.Label134.ForeColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.Label134.Location = New System.Drawing.Point(140, 228) + Me.Label134.Name = "Label134" + Me.Label134.Size = New System.Drawing.Size(95, 13) + Me.Label134.TabIndex = 69 + Me.Label134.Text = "(Java not required)" + ' + 'Label133 + ' + Me.Label133.AutoSize = True + Me.Label133.ForeColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.Label133.Location = New System.Drawing.Point(448, 184) + Me.Label133.Name = "Label133" + Me.Label133.Size = New System.Drawing.Size(63, 13) + Me.Label133.TabIndex = 68 + Me.Label133.Text = "(depricated)" + ' + 'Label132 + ' + Me.Label132.AutoSize = True + Me.Label132.ForeColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.Label132.Location = New System.Drawing.Point(180, 16) + Me.Label132.Name = "Label132" + Me.Label132.Size = New System.Drawing.Size(63, 13) + Me.Label132.TabIndex = 67 + Me.Label132.Text = "(depricated)" + ' + 'Label131 + ' + Me.Label131.AutoSize = True + Me.Label131.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label131.Location = New System.Drawing.Point(88, 272) + Me.Label131.Name = "Label131" + Me.Label131.Size = New System.Drawing.Size(52, 15) + Me.Label131.TabIndex = 66 + Me.Label131.Text = "Method:" + ' + 'apiMethod + ' + Me.apiMethod.Location = New System.Drawing.Point(144, 272) + Me.apiMethod.Name = "apiMethod" + Me.apiMethod.Size = New System.Drawing.Size(296, 20) + Me.apiMethod.TabIndex = 65 + Me.apiMethod.Tag = "text_restfulmethod" + Me.apiMethod.Text = "/almaws/v1/items?view=label&item_barcode={item_barcode}" + Me.ToolTip1.SetToolTip(Me.apiMethod, "Method to obtain item info using RESTful API") + ' + 'Label130 + ' + Me.Label130.AutoSize = True + Me.Label130.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label130.Location = New System.Drawing.Point(68, 248) + Me.Label130.Name = "Label130" + Me.Label130.Size = New System.Drawing.Size(70, 15) + Me.Label130.TabIndex = 64 + Me.Label130.Text = "ALMA URL:" + ' + 'Label129 + ' + Me.Label129.AutoSize = True + Me.Label129.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label129.Location = New System.Drawing.Point(88, 296) + Me.Label129.Name = "Label129" + Me.Label129.Size = New System.Drawing.Size(51, 15) + Me.Label129.TabIndex = 63 + Me.Label129.Text = "API Key:" + ' + 'apiKey + ' + Me.apiKey.Location = New System.Drawing.Point(144, 296) + Me.apiKey.Name = "apiKey" + Me.apiKey.Size = New System.Drawing.Size(296, 20) + Me.apiKey.TabIndex = 62 + Me.apiKey.Tag = "texo_restfulapikey" + Me.apiKey.Text = "--Your Ex Libris API Key goes here --" + Me.ToolTip1.SetToolTip(Me.apiKey, "Your API key (from Developer's Network)") + ' + 'apiURL + ' + Me.apiURL.Location = New System.Drawing.Point(144, 248) + Me.apiURL.Name = "apiURL" + Me.apiURL.Size = New System.Drawing.Size(296, 20) + Me.apiURL.TabIndex = 61 + Me.apiURL.Tag = "text_restfulalmaurl" + Me.apiURL.Text = "https://--your Alma server address goes here--" + Me.ToolTip1.SetToolTip(Me.apiURL, "https:// your alma server .com") + ' + 'UseRestfulApi + ' + Me.UseRestfulApi.AutoSize = True + Me.UseRestfulApi.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.UseRestfulApi.Location = New System.Drawing.Point(4, 224) + Me.UseRestfulApi.Name = "UseRestfulApi" + Me.UseRestfulApi.Size = New System.Drawing.Size(131, 19) + Me.UseRestfulApi.TabIndex = 60 + Me.UseRestfulApi.Tag = "radio_useRESTful" + Me.UseRestfulApi.Text = "Use RESTful API" + Me.UseRestfulApi.UseVisualStyleBackColor = True + ' + 'ispList + ' + Me.ispList.FormattingEnabled = True + Me.ispList.Location = New System.Drawing.Point(448, 284) + Me.ispList.Name = "ispList" + Me.ispList.Size = New System.Drawing.Size(72, 17) + Me.ispList.Sorted = True + Me.ispList.TabIndex = 59 + Me.ispList.Visible = False + ' + 'updatePath + ' + Me.updatePath.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.updatePath.Location = New System.Drawing.Point(284, 164) + Me.updatePath.Name = "updatePath" + Me.updatePath.Size = New System.Drawing.Size(236, 20) + Me.updatePath.TabIndex = 58 + Me.updatePath.Tag = "texo_updatepath" + Me.updatePath.Text = "http://arc.bc.edu:8080/Getfile/get?file=" + Me.updatePath.Visible = False + ' + 'configText + ' + Me.configText.Location = New System.Drawing.Point(4, 140) + Me.configText.Multiline = True + Me.configText.Name = "configText" + Me.configText.Size = New System.Drawing.Size(32, 32) + Me.configText.TabIndex = 39 + Me.configText.Visible = False + ' + 'logEdits + ' + Me.logEdits.Location = New System.Drawing.Point(448, 308) + Me.logEdits.Name = "logEdits" + Me.logEdits.Size = New System.Drawing.Size(68, 17) + Me.logEdits.TabIndex = 38 + Me.logEdits.Tag = "check_logedits" + Me.logEdits.Text = "Log manual call number edits" + Me.ToolTip1.SetToolTip(Me.logEdits, "Check to log manual changes to spine labels") + Me.logEdits.UseVisualStyleBackColor = True + Me.logEdits.Visible = False + ' + 'Label64 + ' + Me.Label64.AutoSize = True + Me.Label64.Font = New System.Drawing.Font("Arial Narrow", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label64.ForeColor = System.Drawing.Color.Blue + Me.Label64.Location = New System.Drawing.Point(32, 116) + Me.Label64.Name = "Label64" + Me.Label64.Size = New System.Drawing.Size(147, 15) + Me.Label64.TabIndex = 37 + Me.Label64.Text = "Your Alma Web Service account::" + ' + 'Label63 + ' + Me.Label63.AutoSize = True + Me.Label63.Font = New System.Drawing.Font("Arial Narrow", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label63.ForeColor = System.Drawing.Color.Blue + Me.Label63.Location = New System.Drawing.Point(32, 60) + Me.Label63.Name = "Label63" + Me.Label63.Size = New System.Drawing.Size(86, 15) + Me.Label63.TabIndex = 36 + Me.Label63.Text = "Ex Libris provides:" + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.Label1) + Me.GroupBox3.Controls.Add(Me.javaCheck) + Me.GroupBox3.Controls.Add(Me.javabox) + Me.GroupBox3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.GroupBox3.Location = New System.Drawing.Point(300, 12) + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.Size = New System.Drawing.Size(216, 156) + Me.GroupBox3.TabIndex = 0 + Me.GroupBox3.TabStop = False + Me.GroupBox3.Text = "Check for Java" + ' + 'Label1 + ' + Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label1.Location = New System.Drawing.Point(64, 16) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(144, 44) + Me.Label1.TabIndex = 0 + Me.Label1.Text = "to see if java is installed on your computer and is available for use." + ' + 'javaCheck + ' + Me.javaCheck.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.javaCheck.Location = New System.Drawing.Point(8, 20) + Me.javaCheck.Name = "javaCheck" + Me.javaCheck.Size = New System.Drawing.Size(52, 20) + Me.javaCheck.TabIndex = 1 + Me.javaCheck.TabStop = False + Me.javaCheck.Text = "Check" + Me.ToolTip1.SetToolTip(Me.javaCheck, "Click to see whether java is installed and functioning on your computer.") + Me.javaCheck.UseVisualStyleBackColor = True + ' + 'javabox + ' + Me.javabox.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.javabox.Location = New System.Drawing.Point(8, 60) + Me.javabox.Multiline = True + Me.javabox.Name = "javabox" + Me.javabox.Size = New System.Drawing.Size(200, 88) + Me.javabox.TabIndex = 0 + Me.javabox.TabStop = False + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label7.Location = New System.Drawing.Point(24, 40) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(229, 13) + Me.Label7.TabIndex = 31 + Me.Label7.Text = "Label Printing Web Service Credentials" + ' + 'inAlmaInstCode + ' + Me.inAlmaInstCode.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inAlmaInstCode.Location = New System.Drawing.Point(120, 96) + Me.inAlmaInstCode.Name = "inAlmaInstCode" + Me.inAlmaInstCode.Size = New System.Drawing.Size(172, 13) + Me.inAlmaInstCode.TabIndex = 21 + Me.inAlmaInstCode.Tag = "text_almainstcode" + Me.ToolTip1.SetToolTip(Me.inAlmaInstCode, "Ex Libris-provided institution code") + ' + 'Label53 + ' + Me.Label53.AutoSize = True + Me.Label53.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label53.Location = New System.Drawing.Point(29, 96) + Me.Label53.Name = "Label53" + Me.Label53.Size = New System.Drawing.Size(83, 13) + Me.Label53.TabIndex = 29 + Me.Label53.Text = "Institution Code:" + ' + 'inAlmaPassword + ' + Me.inAlmaPassword.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inAlmaPassword.Location = New System.Drawing.Point(120, 152) + Me.inAlmaPassword.Name = "inAlmaPassword" + Me.inAlmaPassword.PasswordChar = Global.Microsoft.VisualBasic.ChrW(42) + Me.inAlmaPassword.Size = New System.Drawing.Size(172, 13) + Me.inAlmaPassword.TabIndex = 23 + Me.inAlmaPassword.Tag = "texo_almapassword" + Me.ToolTip1.SetToolTip(Me.inAlmaPassword, "Password associated with the user name") + ' + 'Label52 + ' + Me.Label52.AutoSize = True + Me.Label52.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label52.Location = New System.Drawing.Point(60, 152) + Me.Label52.Name = "Label52" + Me.Label52.Size = New System.Drawing.Size(56, 13) + Me.Label52.TabIndex = 27 + Me.Label52.Text = "Password:" + ' + 'inAlmaUsername + ' + Me.inAlmaUsername.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inAlmaUsername.Location = New System.Drawing.Point(120, 132) + Me.inAlmaUsername.Name = "inAlmaUsername" + Me.inAlmaUsername.Size = New System.Drawing.Size(172, 13) + Me.inAlmaUsername.TabIndex = 22 + Me.inAlmaUsername.Tag = "text_almausername" + Me.ToolTip1.SetToolTip(Me.inAlmaUsername, "Alma user name authorized to use Alma Label Printing Web Service") + ' + 'Label51 + ' + Me.Label51.AutoSize = True + Me.Label51.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label51.Location = New System.Drawing.Point(52, 132) + Me.Label51.Name = "Label51" + Me.Label51.Size = New System.Drawing.Size(63, 13) + Me.Label51.TabIndex = 25 + Me.Label51.Text = "User Name:" + ' + 'inAlmaUrl + ' + Me.inAlmaUrl.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.inAlmaUrl.Location = New System.Drawing.Point(119, 76) + Me.inAlmaUrl.Name = "inAlmaUrl" + Me.inAlmaUrl.Size = New System.Drawing.Size(172, 13) + Me.inAlmaUrl.TabIndex = 20 + Me.inAlmaUrl.Tag = "text_inalmaurl" + Me.inAlmaUrl.Text = "http://???.com" + Me.ToolTip1.SetToolTip(Me.inAlmaUrl, "URL to Alma server (http://alma.exlibrisgourp.com or similar)") + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label6.Location = New System.Drawing.Point(54, 76) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(58, 13) + Me.Label6.TabIndex = 19 + Me.Label6.Text = "Alma URL:" + ' + 'XMLPath + ' + Me.XMLPath.Location = New System.Drawing.Point(480, 200) + Me.XMLPath.Name = "XMLPath" + Me.XMLPath.Size = New System.Drawing.Size(40, 20) + Me.XMLPath.TabIndex = 0 + Me.XMLPath.TabStop = False + Me.XMLPath.Tag = "text_monitorfolder" + Me.ToolTip1.SetToolTip(Me.XMLPath, "Folder on local PC to receive Alma XML (C:/spine or similar)") + Me.XMLPath.Visible = False + ' + 'btnMonitor + ' + Me.btnMonitor.Location = New System.Drawing.Point(4, 276) + Me.btnMonitor.Name = "btnMonitor" + Me.btnMonitor.Size = New System.Drawing.Size(39, 20) + Me.btnMonitor.TabIndex = 0 + Me.btnMonitor.TabStop = False + Me.btnMonitor.Text = "Use" + Me.ToolTip1.SetToolTip(Me.btnMonitor, "Tell the java app and the local PC to communicate via this folder") + Me.btnMonitor.UseVisualStyleBackColor = True + Me.btnMonitor.Visible = False + ' + 'WebServiceURL + ' + Me.WebServiceURL.Location = New System.Drawing.Point(144, 180) + Me.WebServiceURL.Name = "WebServiceURL" + Me.WebServiceURL.Size = New System.Drawing.Size(296, 20) + Me.WebServiceURL.TabIndex = 14 + Me.WebServiceURL.Tag = "text_webserviceurl" + Me.ToolTip1.SetToolTip(Me.WebServiceURL, "URL to java servlet that obtains Alma item XML") + ' + 'useServlet + ' + Me.useServlet.AutoSize = True + Me.useServlet.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.useServlet.Location = New System.Drawing.Point(4, 181) + Me.useServlet.Name = "useServlet" + Me.useServlet.Size = New System.Drawing.Size(138, 19) + Me.useServlet.TabIndex = 1 + Me.useServlet.Tag = "radio_useservlet" + Me.useServlet.Text = "Use Servlet, URL:" + Me.useServlet.UseVisualStyleBackColor = True + ' + 'UseJavaApp + ' + Me.UseJavaApp.AutoSize = True + Me.UseJavaApp.Checked = True + Me.UseJavaApp.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.UseJavaApp.Location = New System.Drawing.Point(4, 12) + Me.UseJavaApp.Name = "UseJavaApp" + Me.UseJavaApp.Size = New System.Drawing.Size(167, 19) + Me.UseJavaApp.TabIndex = 0 + Me.UseJavaApp.TabStop = True + Me.UseJavaApp.Tag = "radio_usejavaapp" + Me.UseJavaApp.Text = "Use Desktop Java App" + Me.UseJavaApp.UseVisualStyleBackColor = True + ' + 'TabPage6 + ' + Me.TabPage6.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.TabPage6.Controls.Add(Me.showIsp) + Me.TabPage6.Controls.Add(Me.chkAddHostname) + Me.TabPage6.Controls.Add(Me.copyDone) + Me.TabPage6.Controls.Add(Me.lbl_setclipboard) + Me.TabPage6.Controls.Add(Me.chkGeoList) + Me.TabPage6.Controls.Add(Me.inclScanned) + Me.TabPage6.Controls.Add(Me.Label61) + Me.TabPage6.Controls.Add(Me.Label60) + Me.TabPage6.Controls.Add(Me.sortBox) + Me.TabPage6.Controls.Add(Me.sortSTL) + Me.TabPage6.Controls.Add(Me.radioByLocation) + Me.TabPage6.Controls.Add(Me.Label56) + Me.TabPage6.Controls.Add(Me.searchArg) + Me.TabPage6.Controls.Add(Me.radioSearch) + Me.TabPage6.Controls.Add(Me.statsOut) + Me.TabPage6.Controls.Add(Me.radioByLibrary) + Me.TabPage6.Controls.Add(Me.radioByUser) + Me.TabPage6.Controls.Add(Me.btnScan) + Me.TabPage6.Controls.Add(Me.STL) + Me.TabPage6.Controls.Add(Me.Label55) + Me.TabPage6.Controls.Add(Me.Label9) + Me.TabPage6.Controls.Add(Me.toScan) + Me.TabPage6.Controls.Add(Me.fromScan) + Me.TabPage6.Location = New System.Drawing.Point(4, 22) + Me.TabPage6.Name = "TabPage6" + Me.TabPage6.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage6.Size = New System.Drawing.Size(528, 330) + Me.TabPage6.TabIndex = 5 + Me.TabPage6.Text = "Reports" + ' + 'showIsp + ' + Me.showIsp.AutoSize = True + Me.showIsp.Location = New System.Drawing.Point(428, 80) + Me.showIsp.Name = "showIsp" + Me.showIsp.Size = New System.Drawing.Size(40, 17) + Me.showIsp.TabIndex = 25 + Me.showIsp.Text = "Isp" + Me.showIsp.UseVisualStyleBackColor = True + ' + 'chkAddHostname + ' + Me.chkAddHostname.AutoSize = True + Me.chkAddHostname.Location = New System.Drawing.Point(300, 80) + Me.chkAddHostname.Name = "chkAddHostname" + Me.chkAddHostname.Size = New System.Drawing.Size(74, 17) + Me.chkAddHostname.TabIndex = 24 + Me.chkAddHostname.Text = "Hostname" + Me.chkAddHostname.UseVisualStyleBackColor = True + Me.chkAddHostname.Visible = False + ' + 'copyDone + ' + Me.copyDone.Location = New System.Drawing.Point(304, 316) + Me.copyDone.Name = "copyDone" + Me.copyDone.Size = New System.Drawing.Size(72, 12) + Me.copyDone.TabIndex = 23 + ' + 'lbl_setclipboard + ' + Me.lbl_setclipboard.AutoSize = True + Me.lbl_setclipboard.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lbl_setclipboard.ForeColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.lbl_setclipboard.Location = New System.Drawing.Point(212, 316) + Me.lbl_setclipboard.Name = "lbl_setclipboard" + Me.lbl_setclipboard.Size = New System.Drawing.Size(89, 13) + Me.lbl_setclipboard.TabIndex = 22 + Me.lbl_setclipboard.Text = "Copy to clipboard" + Me.ToolTip1.SetToolTip(Me.lbl_setclipboard, "Click to copy the text of the report to the Windows clipboard.") + ' + 'chkGeoList + ' + Me.chkGeoList.AutoSize = True + Me.chkGeoList.Enabled = False + Me.chkGeoList.Location = New System.Drawing.Point(376, 80) + Me.chkGeoList.Name = "chkGeoList" + Me.chkGeoList.Size = New System.Drawing.Size(47, 17) + Me.chkGeoList.TabIndex = 21 + Me.chkGeoList.Text = "Map" + Me.chkGeoList.UseVisualStyleBackColor = True + Me.chkGeoList.Visible = False + ' + 'inclScanned + ' + Me.inclScanned.AutoSize = True + Me.inclScanned.Location = New System.Drawing.Point(300, 60) + Me.inclScanned.Name = "inclScanned" + Me.inclScanned.Size = New System.Drawing.Size(161, 17) + Me.inclScanned.TabIndex = 19 + Me.inclScanned.Text = "Include scanned and printed" + Me.ToolTip1.SetToolTip(Me.inclScanned, "Check to include lables that were scanned, but not printed.") + Me.inclScanned.UseVisualStyleBackColor = True + ' + 'Label61 + ' + Me.Label61.AutoSize = True + Me.Label61.ForeColor = System.Drawing.Color.Red + Me.Label61.Location = New System.Drawing.Point(104, 16) + Me.Label61.Name = "Label61" + Me.Label61.Size = New System.Drawing.Size(29, 13) + Me.Label61.TabIndex = 18 + Me.Label61.Text = "Beta" + ' + 'Label60 + ' + Me.Label60.AutoSize = True + Me.Label60.Location = New System.Drawing.Point(300, 8) + Me.Label60.Name = "Label60" + Me.Label60.Size = New System.Drawing.Size(124, 13) + Me.Label60.TabIndex = 17 + Me.Label60.Text = "--- Sorted by date/time ---" + ' + 'sortBox + ' + Me.sortBox.Controls.Add(Me.byAlpha) + Me.sortBox.Controls.Add(Me.byCount) + Me.sortBox.Location = New System.Drawing.Point(224, 8) + Me.sortBox.Name = "sortBox" + Me.sortBox.Size = New System.Drawing.Size(72, 80) + Me.sortBox.TabIndex = 16 + Me.sortBox.TabStop = False + Me.sortBox.Text = "Sort by" + ' + 'byAlpha + ' + Me.byAlpha.AutoSize = True + Me.byAlpha.Location = New System.Drawing.Point(8, 52) + Me.byAlpha.Name = "byAlpha" + Me.byAlpha.Size = New System.Drawing.Size(52, 17) + Me.byAlpha.TabIndex = 17 + Me.byAlpha.Text = "Alpha" + Me.ToolTip1.SetToolTip(Me.byAlpha, "Sort report alphabetically") + Me.byAlpha.UseVisualStyleBackColor = True + ' + 'byCount + ' + Me.byCount.AutoSize = True + Me.byCount.Checked = True + Me.byCount.Location = New System.Drawing.Point(8, 28) + Me.byCount.Name = "byCount" + Me.byCount.Size = New System.Drawing.Size(53, 17) + Me.byCount.TabIndex = 17 + Me.byCount.TabStop = True + Me.byCount.Text = "Count" + Me.ToolTip1.SetToolTip(Me.byCount, "Sort report by count, highest to lowest") + Me.byCount.UseVisualStyleBackColor = True + ' + 'sortSTL + ' + Me.sortSTL.FormattingEnabled = True + Me.sortSTL.Location = New System.Drawing.Point(448, 0) + Me.sortSTL.Name = "sortSTL" + Me.sortSTL.Size = New System.Drawing.Size(40, 17) + Me.sortSTL.TabIndex = 15 + Me.sortSTL.Visible = False + ' + 'radioByLocation + ' + Me.radioByLocation.AutoSize = True + Me.radioByLocation.Location = New System.Drawing.Point(140, 60) + Me.radioByLocation.Name = "radioByLocation" + Me.radioByLocation.Size = New System.Drawing.Size(81, 17) + Me.radioByLocation.TabIndex = 14 + Me.radioByLocation.Text = "By Location" + Me.ToolTip1.SetToolTip(Me.radioByLocation, "Count labels printed for each shelving location in specified date range.") + Me.radioByLocation.UseVisualStyleBackColor = True + ' + 'Label56 + ' + Me.Label56.AutoSize = True + Me.Label56.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label56.Location = New System.Drawing.Point(4, 4) + Me.Label56.Name = "Label56" + Me.Label56.Size = New System.Drawing.Size(104, 15) + Me.Label56.TabIndex = 13 + Me.Label56.Text = "Activity Reports" + ' + 'searchArg + ' + Me.searchArg.Location = New System.Drawing.Point(412, 36) + Me.searchArg.Name = "searchArg" + Me.searchArg.Size = New System.Drawing.Size(104, 20) + Me.searchArg.TabIndex = 12 + Me.ToolTip1.SetToolTip(Me.searchArg, "Show detail record only if it includes this exact text string.") + ' + 'radioSearch + ' + Me.radioSearch.AutoSize = True + Me.radioSearch.Location = New System.Drawing.Point(300, 36) + Me.radioSearch.Name = "radioSearch" + Me.radioSearch.Size = New System.Drawing.Size(114, 17) + Me.radioSearch.TabIndex = 11 + Me.radioSearch.Text = "Details (filtered by:)" + Me.ToolTip1.SetToolTip(Me.radioSearch, "Show details for all labels printed in specified date range.") + Me.radioSearch.UseVisualStyleBackColor = True + ' + 'statsOut + ' + Me.statsOut.BackColor = System.Drawing.Color.AntiqueWhite + Me.statsOut.Font = New System.Drawing.Font("Arial Narrow", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.statsOut.Location = New System.Drawing.Point(4, 100) + Me.statsOut.Multiline = True + Me.statsOut.Name = "statsOut" + Me.statsOut.ScrollBars = System.Windows.Forms.ScrollBars.Both + Me.statsOut.Size = New System.Drawing.Size(520, 216) + Me.statsOut.TabIndex = 10 + Me.ToolTip1.SetToolTip(Me.statsOut, "Report appears here.") + Me.statsOut.WordWrap = False + ' + 'radioByLibrary + ' + Me.radioByLibrary.AutoSize = True + Me.radioByLibrary.Location = New System.Drawing.Point(140, 36) + Me.radioByLibrary.Name = "radioByLibrary" + Me.radioByLibrary.Size = New System.Drawing.Size(71, 17) + Me.radioByLibrary.TabIndex = 7 + Me.radioByLibrary.Text = "By Library" + Me.ToolTip1.SetToolTip(Me.radioByLibrary, "Count labels printed for each library in specified date range.") + Me.radioByLibrary.UseVisualStyleBackColor = True + ' + 'radioByUser + ' + Me.radioByUser.AutoSize = True + Me.radioByUser.Checked = True + Me.radioByUser.Location = New System.Drawing.Point(140, 12) + Me.radioByUser.Name = "radioByUser" + Me.radioByUser.Size = New System.Drawing.Size(62, 17) + Me.radioByUser.TabIndex = 6 + Me.radioByUser.TabStop = True + Me.radioByUser.Text = "By User" + Me.ToolTip1.SetToolTip(Me.radioByUser, "Count labels printed by user in specified date range.") + Me.radioByUser.UseVisualStyleBackColor = True + ' + 'btnScan + ' + Me.btnScan.Location = New System.Drawing.Point(476, 76) + Me.btnScan.Name = "btnScan" + Me.btnScan.Size = New System.Drawing.Size(48, 20) + Me.btnScan.TabIndex = 5 + Me.btnScan.Text = "Run" + Me.ToolTip1.SetToolTip(Me.btnScan, "Run report based on dates and other selections.") + Me.btnScan.UseVisualStyleBackColor = True + ' + 'STL + ' + Me.STL.FormattingEnabled = True + Me.STL.Location = New System.Drawing.Point(488, 0) + Me.STL.Name = "STL" + Me.STL.Size = New System.Drawing.Size(36, 17) + Me.STL.TabIndex = 4 + Me.STL.Visible = False + ' + 'Label55 + ' + Me.Label55.AutoSize = True + Me.Label55.Location = New System.Drawing.Point(20, 60) + Me.Label55.Name = "Label55" + Me.Label55.Size = New System.Drawing.Size(16, 13) + Me.Label55.TabIndex = 3 + Me.Label55.Text = "to" + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New System.Drawing.Point(4, 36) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(30, 13) + Me.Label9.TabIndex = 2 + Me.Label9.Text = "From" + ' + 'toScan + ' + Me.toScan.CustomFormat = "" + Me.toScan.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.toScan.Location = New System.Drawing.Point(36, 56) + Me.toScan.Name = "toScan" + Me.toScan.Size = New System.Drawing.Size(92, 20) + Me.toScan.TabIndex = 1 + Me.ToolTip1.SetToolTip(Me.toScan, "Select highest date for report.") + Me.toScan.Value = New Date(2013, 8, 28, 0, 0, 0, 0) + ' + 'fromScan + ' + Me.fromScan.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.fromScan.Location = New System.Drawing.Point(36, 32) + Me.fromScan.Name = "fromScan" + Me.fromScan.Size = New System.Drawing.Size(92, 20) + Me.fromScan.TabIndex = 0 + Me.ToolTip1.SetToolTip(Me.fromScan, "Select earliest date for report.") + Me.fromScan.Value = New Date(2013, 6, 12, 0, 0, 0, 0) + ' + 'createTemp + ' + Me.createTemp.AutoSize = True + Me.createTemp.Location = New System.Drawing.Point(484, 8) + Me.createTemp.Name = "createTemp" + Me.createTemp.Size = New System.Drawing.Size(132, 17) + Me.createTemp.TabIndex = 31 + Me.createTemp.Tag = "check_createtemp" + Me.createTemp.Text = "Enable temp barcodes" + Me.ToolTip1.SetToolTip(Me.createTemp, "Turn on the temp label option") + Me.createTemp.UseVisualStyleBackColor = True + ' + 'chkRequireUser + ' + Me.chkRequireUser.AutoSize = True + Me.chkRequireUser.Location = New System.Drawing.Point(364, 8) + Me.chkRequireUser.Name = "chkRequireUser" + Me.chkRequireUser.Size = New System.Drawing.Size(114, 17) + Me.chkRequireUser.TabIndex = 46 + Me.chkRequireUser.Tag = "check_requireuser" + Me.chkRequireUser.Text = "Require Username" + Me.ToolTip1.SetToolTip(Me.chkRequireUser, "Check to require the user to enter their ID before continuing.") + Me.chkRequireUser.UseVisualStyleBackColor = True + ' + 'FileSystemWatcher1 + ' + Me.FileSystemWatcher1.EnableRaisingEvents = True + Me.FileSystemWatcher1.Filter = "*.xml" + Me.FileSystemWatcher1.SynchronizingObject = Me + ' + 'FileSystemWatcher2 + ' + Me.FileSystemWatcher2.EnableRaisingEvents = True + Me.FileSystemWatcher2.Filter = "labelout.txt" + Me.FileSystemWatcher2.SynchronizingObject = Me + ' + 'InputBox + ' + Me.InputBox.AllowDrop = True + Me.InputBox.CausesValidation = False + Me.InputBox.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.InputBox.Location = New System.Drawing.Point(44, 136) + Me.InputBox.Name = "InputBox" + Me.InputBox.Size = New System.Drawing.Size(148, 22) + Me.InputBox.TabIndex = 11 + Me.ToolTip1.SetToolTip(Me.InputBox, "Input Box - Scan, type or drop barcode number") + ' + 'ScanButton + ' + Me.ScanButton.Location = New System.Drawing.Point(0, 136) + Me.ScanButton.Name = "ScanButton" + Me.ScanButton.Size = New System.Drawing.Size(40, 24) + Me.ScanButton.TabIndex = 13 + Me.ScanButton.Text = "scan" + Me.ToolTip1.SetToolTip(Me.ScanButton, "Clears the input box and waits for you to scan or type a barcode number.") + Me.ScanButton.UseVisualStyleBackColor = True + ' + 'SaveSettingsButn + ' + Me.SaveSettingsButn.Location = New System.Drawing.Point(700, 388) + Me.SaveSettingsButn.Name = "SaveSettingsButn" + Me.SaveSettingsButn.Size = New System.Drawing.Size(52, 20) + Me.SaveSettingsButn.TabIndex = 15 + Me.SaveSettingsButn.Text = "Save" + Me.ToolTip1.SetToolTip(Me.SaveSettingsButn, "Save all settings to be recalled on startup") + Me.SaveSettingsButn.UseVisualStyleBackColor = True + ' + 'LoadSettingsButn + ' + Me.LoadSettingsButn.Location = New System.Drawing.Point(644, 388) + Me.LoadSettingsButn.Name = "LoadSettingsButn" + Me.LoadSettingsButn.Size = New System.Drawing.Size(52, 20) + Me.LoadSettingsButn.TabIndex = 16 + Me.LoadSettingsButn.Text = "Load" + Me.ToolTip1.SetToolTip(Me.LoadSettingsButn, "Load the most recently saved settings") + Me.LoadSettingsButn.UseVisualStyleBackColor = True + ' + 'Label27 + ' + Me.Label27.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label27.Location = New System.Drawing.Point(4, 52) + Me.Label27.Name = "Label27" + Me.Label27.Size = New System.Drawing.Size(200, 16) + Me.Label27.TabIndex = 17 + Me.Label27.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + ' + 'HistoryList + ' + Me.HistoryList.FormattingEnabled = True + Me.HistoryList.Location = New System.Drawing.Point(44, 156) + Me.HistoryList.Name = "HistoryList" + Me.HistoryList.Size = New System.Drawing.Size(148, 69) + Me.HistoryList.TabIndex = 18 + Me.ToolTip1.SetToolTip(Me.HistoryList, "Doubleclick to recall a recently scanned barcode number") + Me.HistoryList.Visible = False + ' + 'ArrowLabel + ' + Me.ArrowLabel.AutoSize = True + Me.ArrowLabel.Font = New System.Drawing.Font("Wingdings 3", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(2, Byte)) + Me.ArrowLabel.ForeColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.ArrowLabel.Location = New System.Drawing.Point(192, 140) + Me.ArrowLabel.Name = "ArrowLabel" + Me.ArrowLabel.Size = New System.Drawing.Size(21, 15) + Me.ArrowLabel.TabIndex = 19 + Me.ArrowLabel.Text = "q" + Me.ToolTip1.SetToolTip(Me.ArrowLabel, "Show/hide last 5 barcode numbers") + ' + 'TempLabelBox + ' + Me.TempLabelBox.BackColor = System.Drawing.Color.White + Me.TempLabelBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.TempLabelBox.Location = New System.Drawing.Point(44, 116) + Me.TempLabelBox.Name = "TempLabelBox" + Me.TempLabelBox.Size = New System.Drawing.Size(148, 20) + Me.TempLabelBox.TabIndex = 21 + Me.ToolTip1.SetToolTip(Me.TempLabelBox, "Drag this barcode number to the input box or to Alma.") + Me.TempLabelBox.Visible = False + ' + 'CreateTempLbl + ' + Me.CreateTempLbl.AutoSize = True + Me.CreateTempLbl.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.CreateTempLbl.Location = New System.Drawing.Point(0, 116) + Me.CreateTempLbl.Name = "CreateTempLbl" + Me.CreateTempLbl.Size = New System.Drawing.Size(36, 13) + Me.CreateTempLbl.TabIndex = 22 + Me.CreateTempLbl.Text = "temp>" + Me.ToolTip1.SetToolTip(Me.CreateTempLbl, "Click to create a temporary barcode number.") + Me.CreateTempLbl.Visible = False + ' + 'CheckForUpdates + ' + Me.CheckForUpdates.Location = New System.Drawing.Point(220, 384) + Me.CheckForUpdates.Name = "CheckForUpdates" + Me.CheckForUpdates.Size = New System.Drawing.Size(108, 24) + Me.CheckForUpdates.TabIndex = 23 + Me.CheckForUpdates.Text = "Check for updates" + Me.ToolTip1.SetToolTip(Me.CheckForUpdates, "Check web for newer software release") + Me.CheckForUpdates.UseVisualStyleBackColor = True + ' + 'ToolTip1 + ' + Me.ToolTip1.Active = False + ' + 'Label47 + ' + Me.Label47.AutoSize = True + Me.Label47.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, CType(((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic) _ + Or System.Drawing.FontStyle.Underline), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label47.Location = New System.Drawing.Point(708, 8) + Me.Label47.Name = "Label47" + Me.Label47.Size = New System.Drawing.Size(40, 13) + Me.Label47.TabIndex = 35 + Me.Label47.Text = "About" + Me.ToolTip1.SetToolTip(Me.Label47, "Statement of Copyright and authorship, and link to product manual") + ' + 'usrname + ' + Me.usrname.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.usrname.ForeColor = System.Drawing.Color.Blue + Me.usrname.Location = New System.Drawing.Point(120, 6) + Me.usrname.Name = "usrname" + Me.usrname.Size = New System.Drawing.Size(88, 13) + Me.usrname.TabIndex = 38 + Me.ToolTip1.SetToolTip(Me.usrname, "Optional user ID to use in Activity Reports.") + ' + 'lblStation + ' + Me.lblStation.Font = New System.Drawing.Font("Arial Narrow", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblStation.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.lblStation.Location = New System.Drawing.Point(0, 4) + Me.lblStation.Name = "lblStation" + Me.lblStation.Size = New System.Drawing.Size(84, 16) + Me.lblStation.TabIndex = 39 + Me.ToolTip1.SetToolTip(Me.lblStation, "Station name that identifies this workstation.") + ' + 'station + ' + Me.station.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.station.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.station.ForeColor = System.Drawing.Color.Green + Me.station.Location = New System.Drawing.Point(268, 8) + Me.station.Name = "station" + Me.station.Size = New System.Drawing.Size(92, 14) + Me.station.TabIndex = 49 + Me.station.Tag = "text_stationname" + Me.station.Text = "Station?" + Me.ToolTip1.SetToolTip(Me.station, "Enter a brief name to identify this workstation for Activity Reports.") + ' + 'LabelRepeat + ' + Me.LabelRepeat.BackColor = System.Drawing.Color.White + Me.LabelRepeat.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.LabelRepeat.ForeColor = System.Drawing.Color.Black + Me.LabelRepeat.Location = New System.Drawing.Point(176, 384) + Me.LabelRepeat.Maximum = New Decimal(New Integer() {99, 0, 0, 0}) + Me.LabelRepeat.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.LabelRepeat.Name = "LabelRepeat" + Me.LabelRepeat.ReadOnly = True + Me.LabelRepeat.Size = New System.Drawing.Size(36, 22) + Me.LabelRepeat.TabIndex = 35 + Me.LabelRepeat.Tag = "numud_repeatnum" + Me.LabelRepeat.TextAlign = System.Windows.Forms.HorizontalAlignment.Center + Me.ToolTip1.SetToolTip(Me.LabelRepeat, "Print the label up to 99 times.") + Me.LabelRepeat.Value = New Decimal(New Integer() {1, 0, 0, 0}) + ' + 'lblXMLWarn + ' + Me.lblXMLWarn.AutoSize = True + Me.lblXMLWarn.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.lblXMLWarn.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.lblXMLWarn.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblXMLWarn.ForeColor = System.Drawing.Color.Red + Me.lblXMLWarn.Location = New System.Drawing.Point(1, 169) + Me.lblXMLWarn.Name = "lblXMLWarn" + Me.lblXMLWarn.Size = New System.Drawing.Size(38, 15) + Me.lblXMLWarn.TabIndex = 53 + Me.lblXMLWarn.Text = "XML!" + Me.ToolTip1.SetToolTip(Me.lblXMLWarn, "Warns if an XML field is invalid. Click the 'XML!' symbol to see which field(s) " & _ + "caused the error.") + Me.lblXMLWarn.Visible = False + ' + 'lblToggleAdmin + ' + Me.lblToggleAdmin.AutoSize = True + Me.lblToggleAdmin.Font = New System.Drawing.Font("Wingdings 3", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(2, Byte)) + Me.lblToggleAdmin.ForeColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.lblToggleAdmin.Location = New System.Drawing.Point(196, 20) + Me.lblToggleAdmin.Name = "lblToggleAdmin" + Me.lblToggleAdmin.Size = New System.Drawing.Size(19, 15) + Me.lblToggleAdmin.TabIndex = 54 + Me.lblToggleAdmin.Tag = "" + Me.lblToggleAdmin.Text = "u" + Me.ToolTip1.SetToolTip(Me.lblToggleAdmin, "Click to open or close the setup panels") + ' + 'unitCM + ' + Me.unitCM.AutoSize = True + Me.unitCM.Location = New System.Drawing.Point(76, 6) + Me.unitCM.Name = "unitCM" + Me.unitCM.Size = New System.Drawing.Size(42, 17) + Me.unitCM.TabIndex = 1 + Me.unitCM.Tag = "radio_unitcm" + Me.unitCM.Text = "cm." + Me.ToolTip1.SetToolTip(Me.unitCM, "Margins and linespacing measurements are in centimeters.") + Me.unitCM.UseVisualStyleBackColor = True + ' + 'unitINCH + ' + Me.unitINCH.AutoSize = True + Me.unitINCH.Checked = True + Me.unitINCH.Location = New System.Drawing.Point(40, 6) + Me.unitINCH.Name = "unitINCH" + Me.unitINCH.Size = New System.Drawing.Size(36, 17) + Me.unitINCH.TabIndex = 0 + Me.unitINCH.TabStop = True + Me.unitINCH.Tag = "radio_unitinch" + Me.unitINCH.Text = "in." + Me.ToolTip1.SetToolTip(Me.unitINCH, "Margins and line spacing measurements are in inches.") + Me.unitINCH.UseVisualStyleBackColor = True + ' + 'decimalCOMMA + ' + Me.decimalCOMMA.AutoSize = True + Me.decimalCOMMA.Font = New System.Drawing.Font("Courier New", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.decimalCOMMA.Location = New System.Drawing.Point(100, 4) + Me.decimalCOMMA.Name = "decimalCOMMA" + Me.decimalCOMMA.Size = New System.Drawing.Size(34, 20) + Me.decimalCOMMA.TabIndex = 1 + Me.decimalCOMMA.Tag = "radio_comma" + Me.decimalCOMMA.Text = "," + Me.decimalCOMMA.TextAlign = System.Drawing.ContentAlignment.TopLeft + Me.ToolTip1.SetToolTip(Me.decimalCOMMA, "Use a comma to represent fractions.") + Me.decimalCOMMA.UseVisualStyleBackColor = True + ' + 'decimalDOT + ' + Me.decimalDOT.AutoSize = True + Me.decimalDOT.Checked = True + Me.decimalDOT.Font = New System.Drawing.Font("Courier New", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.decimalDOT.Location = New System.Drawing.Point(60, 4) + Me.decimalDOT.Name = "decimalDOT" + Me.decimalDOT.Size = New System.Drawing.Size(34, 20) + Me.decimalDOT.TabIndex = 0 + Me.decimalDOT.TabStop = True + Me.decimalDOT.Tag = "radio_decimalpoint" + Me.decimalDOT.Text = "." + Me.decimalDOT.TextAlign = System.Drawing.ContentAlignment.TopLeft + Me.ToolTip1.SetToolTip(Me.decimalDOT, "Use a decimal point to represent fractions.") + Me.decimalDOT.UseVisualStyleBackColor = True + ' + 'Label34 + ' + Me.Label34.AutoSize = True + Me.Label34.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label34.Location = New System.Drawing.Point(588, 392) + Me.Label34.Name = "Label34" + Me.Label34.Size = New System.Drawing.Size(57, 13) + Me.Label34.TabIndex = 27 + Me.Label34.Text = "Settings:" + ' + 'PrintDocument2 + ' + ' + 'PrintPreviewDialog1 + ' + Me.PrintPreviewDialog1.AutoScrollMargin = New System.Drawing.Size(0, 0) + Me.PrintPreviewDialog1.AutoScrollMinSize = New System.Drawing.Size(0, 0) + Me.PrintPreviewDialog1.ClientSize = New System.Drawing.Size(400, 300) + Me.PrintPreviewDialog1.Document = Me.PrintDocument2 + Me.PrintPreviewDialog1.Enabled = True + Me.PrintPreviewDialog1.Icon = CType(resources.GetObject("PrintPreviewDialog1.Icon"), System.Drawing.Icon) + Me.PrintPreviewDialog1.Name = "PrintPreviewDialog1" + Me.PrintPreviewDialog1.Visible = False + ' + 'parsedBy + ' + Me.parsedBy.Font = New System.Drawing.Font("Arial Narrow", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.parsedBy.ForeColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.parsedBy.Location = New System.Drawing.Point(40, 160) + Me.parsedBy.Name = "parsedBy" + Me.parsedBy.Size = New System.Drawing.Size(176, 16) + Me.parsedBy.TabIndex = 36 + ' + 'lblUser + ' + Me.lblUser.AutoSize = True + Me.lblUser.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblUser.ForeColor = System.Drawing.Color.Gray + Me.lblUser.Location = New System.Drawing.Point(84, 6) + Me.lblUser.Name = "lblUser" + Me.lblUser.Size = New System.Drawing.Size(37, 13) + Me.lblUser.TabIndex = 37 + Me.lblUser.Text = "User:" + ' + 'Label10 + ' + Me.Label10.AutoSize = True + Me.Label10.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label10.Location = New System.Drawing.Point(216, 9) + Me.Label10.Name = "Label10" + Me.Label10.Size = New System.Drawing.Size(51, 13) + Me.Label10.TabIndex = 50 + Me.Label10.Text = "Station:" + ' + 'tips + ' + Me.tips.AutoSize = True + Me.tips.Location = New System.Drawing.Point(620, 8) + Me.tips.Name = "tips" + Me.tips.Size = New System.Drawing.Size(76, 17) + Me.tips.TabIndex = 51 + Me.tips.Tag = "check_showtips" + Me.tips.Text = "Show Tips" + Me.tips.UseVisualStyleBackColor = True + ' + 'Label86 + ' + Me.Label86.AutoSize = True + Me.Label86.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label86.Location = New System.Drawing.Point(160, 388) + Me.Label86.Name = "Label86" + Me.Label86.Size = New System.Drawing.Size(29, 13) + Me.Label86.TabIndex = 52 + Me.Label86.Text = "X 1" + ' + 'TextBox24 + ' + Me.TextBox24.BackColor = System.Drawing.SystemColors.ControlLightLight + Me.TextBox24.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.TextBox24.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TextBox24.ForeColor = System.Drawing.Color.Blue + Me.TextBox24.Location = New System.Drawing.Point(4, 72) + Me.TextBox24.Multiline = True + Me.TextBox24.Name = "TextBox24" + Me.TextBox24.Size = New System.Drawing.Size(208, 44) + Me.TextBox24.TabIndex = 12 + ' + 'printProgress + ' + Me.printProgress.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.printProgress.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.printProgress.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.printProgress.ForeColor = System.Drawing.Color.Fuchsia + Me.printProgress.Location = New System.Drawing.Point(16, 364) + Me.printProgress.Name = "printProgress" + Me.printProgress.Size = New System.Drawing.Size(132, 17) + Me.printProgress.TabIndex = 35 + Me.printProgress.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + Me.printProgress.Visible = False + ' + 'licenseAgreement + ' + Me.licenseAgreement.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.licenseAgreement.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.licenseAgreement.Location = New System.Drawing.Point(8, 44) + Me.licenseAgreement.Multiline = True + Me.licenseAgreement.Name = "licenseAgreement" + Me.licenseAgreement.ScrollBars = System.Windows.Forms.ScrollBars.Vertical + Me.licenseAgreement.Size = New System.Drawing.Size(744, 244) + Me.licenseAgreement.TabIndex = 40 + Me.licenseAgreement.Text = resources.GetString("licenseAgreement.Text") + ' + 'licensePanel + ' + Me.licensePanel.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.licensePanel.Controls.Add(Me.TextBox1) + Me.licensePanel.Controls.Add(Me.cancelAgreement) + Me.licensePanel.Controls.Add(Me.acceptAgreement) + Me.licensePanel.Controls.Add(Me.licenseHeadline) + Me.licensePanel.Controls.Add(Me.licenseAgreement) + Me.licensePanel.Location = New System.Drawing.Point(0, 0) + Me.licensePanel.Name = "licensePanel" + Me.licensePanel.Size = New System.Drawing.Size(16, 48) + Me.licensePanel.TabIndex = 56 + Me.licensePanel.Visible = False + ' + 'TextBox1 + ' + Me.TextBox1.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) + Me.TextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.TextBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TextBox1.Location = New System.Drawing.Point(156, 308) + Me.TextBox1.Multiline = True + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(448, 68) + Me.TextBox1.TabIndex = 43 + Me.TextBox1.Text = resources.GetString("TextBox1.Text") + ' + 'cancelAgreement + ' + Me.cancelAgreement.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.cancelAgreement.Location = New System.Drawing.Point(420, 380) + Me.cancelAgreement.Name = "cancelAgreement" + Me.cancelAgreement.Size = New System.Drawing.Size(76, 24) + Me.cancelAgreement.TabIndex = 42 + Me.cancelAgreement.Text = "I decline" + Me.cancelAgreement.UseVisualStyleBackColor = True + ' + 'acceptAgreement + ' + Me.acceptAgreement.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.acceptAgreement.Location = New System.Drawing.Point(272, 380) + Me.acceptAgreement.Name = "acceptAgreement" + Me.acceptAgreement.Size = New System.Drawing.Size(76, 24) + Me.acceptAgreement.TabIndex = 41 + Me.acceptAgreement.Text = "I agree" + Me.acceptAgreement.UseVisualStyleBackColor = True + ' + 'licenseHeadline + ' + Me.licenseHeadline.AutoSize = True + Me.licenseHeadline.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.licenseHeadline.ForeColor = System.Drawing.Color.Black + Me.licenseHeadline.Location = New System.Drawing.Point(220, 12) + Me.licenseHeadline.Name = "licenseHeadline" + Me.licenseHeadline.Size = New System.Drawing.Size(271, 20) + Me.licenseHeadline.TabIndex = 0 + Me.licenseHeadline.Text = "SpineOMatic License Agreement" + ' + 'RadioButton1 + ' + Me.RadioButton1.AutoSize = True + Me.RadioButton1.Location = New System.Drawing.Point(260, 4) + Me.RadioButton1.Name = "RadioButton1" + Me.RadioButton1.Size = New System.Drawing.Size(108, 17) + Me.RadioButton1.TabIndex = 14 + Me.RadioButton1.Tag = "radio_deweycharbreakaft" + Me.RadioButton1.Text = "after character(s):" + Me.RadioButton1.UseVisualStyleBackColor = True + ' + 'Label112 + ' + Me.Label112.AutoSize = True + Me.Label112.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label112.Location = New System.Drawing.Point(40, 8) + Me.Label112.Name = "Label112" + Me.Label112.Size = New System.Drawing.Size(42, 13) + Me.Label112.TabIndex = 9 + Me.Label112.Text = "Other:" + ' + 'RadioButton2 + ' + Me.RadioButton2.AutoSize = True + Me.RadioButton2.Location = New System.Drawing.Point(164, 4) + Me.RadioButton2.Name = "RadioButton2" + Me.RadioButton2.Size = New System.Drawing.Size(98, 17) + Me.RadioButton2.TabIndex = 13 + Me.RadioButton2.Tag = "radio_deweycharbreakb4" + Me.RadioButton2.Text = "Break before or" + Me.RadioButton2.UseVisualStyleBackColor = True + ' + 'RadioButton3 + ' + Me.RadioButton3.AutoSize = True + Me.RadioButton3.Checked = True + Me.RadioButton3.Location = New System.Drawing.Point(88, 4) + Me.RadioButton3.Name = "RadioButton3" + Me.RadioButton3.Size = New System.Drawing.Size(69, 17) + Me.RadioButton3.TabIndex = 12 + Me.RadioButton3.TabStop = True + Me.RadioButton3.Tag = "radio_deweycharnobreak" + Me.RadioButton3.Text = "No break" + Me.RadioButton3.UseVisualStyleBackColor = True + ' + 'Panel18 + ' + Me.Panel18.BackColor = System.Drawing.Color.White + Me.Panel18.Controls.Add(Me.unitCM) + Me.Panel18.Controls.Add(Me.unitINCH) + Me.Panel18.Controls.Add(Me.Label116) + Me.Panel18.Location = New System.Drawing.Point(328, 384) + Me.Panel18.Name = "Panel18" + Me.Panel18.Size = New System.Drawing.Size(124, 28) + Me.Panel18.TabIndex = 60 + ' + 'Label116 + ' + Me.Label116.AutoSize = True + Me.Label116.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label116.Location = New System.Drawing.Point(4, 8) + Me.Label116.Name = "Label116" + Me.Label116.Size = New System.Drawing.Size(38, 13) + Me.Label116.TabIndex = 28 + Me.Label116.Text = "units:" + ' + 'Panel19 + ' + Me.Panel19.Controls.Add(Me.Label124) + Me.Panel19.Controls.Add(Me.decimalCOMMA) + Me.Panel19.Controls.Add(Me.decimalDOT) + Me.Panel19.Controls.Add(Me.Label123) + Me.Panel19.Location = New System.Drawing.Point(452, 384) + Me.Panel19.Name = "Panel19" + Me.Panel19.Size = New System.Drawing.Size(136, 28) + Me.Panel19.TabIndex = 61 + ' + 'Label124 + ' + Me.Label124.AutoSize = True + Me.Label124.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label124.Location = New System.Drawing.Point(4, 8) + Me.Label124.Name = "Label124" + Me.Label124.Size = New System.Drawing.Size(54, 13) + Me.Label124.TabIndex = 29 + Me.Label124.Text = "decimal:" + ' + 'Label123 + ' + Me.Label123.AutoSize = True + Me.Label123.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label123.Location = New System.Drawing.Point(4, 6) + Me.Label123.Name = "Label123" + Me.Label123.Size = New System.Drawing.Size(0, 13) + Me.Label123.TabIndex = 28 + ' + 'xboxPanel + ' + Me.xboxPanel.BackColor = System.Drawing.Color.Lavender + Me.xboxPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.xboxPanel.Controls.Add(Me.Label90) + Me.xboxPanel.Controls.Add(Me.Label89) + Me.xboxPanel.Controls.Add(Me.closeXbox) + Me.xboxPanel.Controls.Add(Me.XBOX) + Me.xboxPanel.Location = New System.Drawing.Point(0, 52) + Me.xboxPanel.Name = "xboxPanel" + Me.xboxPanel.Size = New System.Drawing.Size(44, 44) + Me.xboxPanel.TabIndex = 59 + Me.xboxPanel.Visible = False + ' + 'Label90 + ' + Me.Label90.AutoSize = True + Me.Label90.Location = New System.Drawing.Point(48, 336) + Me.Label90.Name = "Label90" + Me.Label90.Size = New System.Drawing.Size(106, 13) + Me.Label90.TabIndex = 3 + Me.Label90.Text = "Doubleclick to select" + ' + 'Label89 + ' + Me.Label89.AutoSize = True + Me.Label89.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label89.ForeColor = System.Drawing.Color.Blue + Me.Label89.Location = New System.Drawing.Point(12, 4) + Me.Label89.Name = "Label89" + Me.Label89.Size = New System.Drawing.Size(183, 15) + Me.Label89.TabIndex = 2 + Me.Label89.Text = "Available XML fields for this item" + ' + 'closeXbox + ' + Me.closeXbox.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.closeXbox.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.closeXbox.ForeColor = System.Drawing.Color.White + Me.closeXbox.Location = New System.Drawing.Point(196, 0) + Me.closeXbox.Name = "closeXbox" + Me.closeXbox.Size = New System.Drawing.Size(16, 16) + Me.closeXbox.TabIndex = 1 + Me.closeXbox.Text = "X" + ' + 'XBOX + ' + Me.XBOX.BackColor = System.Drawing.Color.AntiqueWhite + Me.XBOX.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.XBOX.Font = New System.Drawing.Font("Arial Narrow", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.XBOX.FormattingEnabled = True + Me.XBOX.IntegralHeight = False + Me.XBOX.ItemHeight = 15 + Me.XBOX.Location = New System.Drawing.Point(4, 20) + Me.XBOX.Name = "XBOX" + Me.XBOX.Size = New System.Drawing.Size(204, 312) + Me.XBOX.TabIndex = 0 + ' + 'holdingsBy + ' + Me.holdingsBy.Font = New System.Drawing.Font("Arial Narrow", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.holdingsBy.ForeColor = System.Drawing.Color.FromArgb(CType(CType(128, Byte), Integer), CType(CType(128, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.holdingsBy.Location = New System.Drawing.Point(40, 174) + Me.holdingsBy.Name = "holdingsBy" + Me.holdingsBy.Size = New System.Drawing.Size(176, 14) + Me.holdingsBy.TabIndex = 62 + ' + 'accessType + ' + Me.accessType.AutoSize = True + Me.accessType.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.accessType.Location = New System.Drawing.Point(200, 120) + Me.accessType.Name = "accessType" + Me.accessType.Size = New System.Drawing.Size(10, 13) + Me.accessType.TabIndex = 63 + Me.accessType.Text = "-" + ' + 'Form1 + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.Color.White + Me.ClientSize = New System.Drawing.Size(757, 415) + Me.Controls.Add(Me.xboxPanel) + Me.Controls.Add(Me.licensePanel) + Me.Controls.Add(Me.Panel19) + Me.Controls.Add(Me.Panel18) + Me.Controls.Add(Me.printProgress) + Me.Controls.Add(Me.lblToggleAdmin) + Me.Controls.Add(Me.LabelRepeat) + Me.Controls.Add(Me.tips) + Me.Controls.Add(Me.Label10) + Me.Controls.Add(Me.station) + Me.Controls.Add(Me.chkRequireUser) + Me.Controls.Add(Me.lblStation) + Me.Controls.Add(Me.usrname) + Me.Controls.Add(Me.lblUser) + Me.Controls.Add(Me.HistoryList) + Me.Controls.Add(Me.Label47) + Me.Controls.Add(Me.createTemp) + Me.Controls.Add(Me.Label34) + Me.Controls.Add(Me.CheckForUpdates) + Me.Controls.Add(Me.CreateTempLbl) + Me.Controls.Add(Me.TempLabelBox) + Me.Controls.Add(Me.ArrowLabel) + Me.Controls.Add(Me.Label27) + Me.Controls.Add(Me.LoadSettingsButn) + Me.Controls.Add(Me.SaveSettingsButn) + Me.Controls.Add(Me.ScanButton) + Me.Controls.Add(Me.TextBox24) + Me.Controls.Add(Me.InputBox) + Me.Controls.Add(Me.TabControl1) + Me.Controls.Add(Me.Panel1) + Me.Controls.Add(Me.ManualPrint) + Me.Controls.Add(Me.OutputBox) + Me.Controls.Add(Me.lblXMLWarn) + Me.Controls.Add(Me.parsedBy) + Me.Controls.Add(Me.Label86) + Me.Controls.Add(Me.holdingsBy) + Me.Controls.Add(Me.accessType) + Me.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle + Me.MaximizeBox = False + Me.Name = "Form1" + Me.Text = "SpineOMatic" + Me.Panel1.ResumeLayout(False) + Me.Panel1.PerformLayout() + Me.TabControl1.ResumeLayout(False) + Me.TabPage1.ResumeLayout(False) + Me.TabPage1.PerformLayout() + Me.viaDOSPanel.ResumeLayout(False) + Me.viaDOSPanel.PerformLayout() + Me.Panel17.ResumeLayout(False) + Me.Panel17.PerformLayout() + Me.orientationPanel.ResumeLayout(False) + Me.orientationPanel.PerformLayout() + Me.marginPanel.ResumeLayout(False) + Me.marginPanel.PerformLayout() + Me.FTPGroup.ResumeLayout(False) + Me.FTPGroup.PerformLayout() + Me.DesktopGroup.ResumeLayout(False) + Me.DesktopGroup.PerformLayout() + Me.SheetSettings.ResumeLayout(False) + Me.SheetSettings.PerformLayout() + CType(Me.batchNumber, System.ComponentModel.ISupportInitialize).EndInit() + Me.TabPage2.ResumeLayout(False) + Me.TabPage2.PerformLayout() + Me.PocketLabelPanel.ResumeLayout(False) + Me.PocketLabelPanel.PerformLayout() + Me.userDefinedPanel.ResumeLayout(False) + Me.userDefinedPanel.PerformLayout() + CType(Me.PLcount, System.ComponentModel.ISupportInitialize).EndInit() + Me.tweakParsingPanel.ResumeLayout(False) + Me.tweakParsingPanel.PerformLayout() + Me.TabControl2.ResumeLayout(False) + Me.TabPage7.ResumeLayout(False) + Me.TabPage7.PerformLayout() + Me.Panel6.ResumeLayout(False) + Me.Panel6.PerformLayout() + Me.Panel8.ResumeLayout(False) + Me.Panel8.PerformLayout() + Me.Panel7.ResumeLayout(False) + Me.Panel7.PerformLayout() + Me.Panel5.ResumeLayout(False) + Me.Panel5.PerformLayout() + Me.TabPage8.ResumeLayout(False) + Me.TabPage8.PerformLayout() + Me.Panel15.ResumeLayout(False) + Me.Panel15.PerformLayout() + Me.Panel14.ResumeLayout(False) + Me.Panel14.PerformLayout() + Me.Panel9.ResumeLayout(False) + Me.Panel9.PerformLayout() + Me.Panel11.ResumeLayout(False) + Me.Panel11.PerformLayout() + Me.TabPage10.ResumeLayout(False) + Me.TabPage10.PerformLayout() + Me.Panel16.ResumeLayout(False) + Me.Panel16.PerformLayout() + Me.Panel10.ResumeLayout(False) + Me.Panel10.PerformLayout() + Me.Panel3.ResumeLayout(False) + Me.Panel3.PerformLayout() + Me.Panel4.ResumeLayout(False) + Me.Panel4.PerformLayout() + Me.Panel2.ResumeLayout(False) + Me.Panel2.PerformLayout() + Me.TabPage11.ResumeLayout(False) + Me.TabPage11.PerformLayout() + Me.Panel13.ResumeLayout(False) + Me.Panel13.PerformLayout() + Me.Panel12.ResumeLayout(False) + Me.Panel12.PerformLayout() + Me.TabPage9.ResumeLayout(False) + Me.TabPage9.PerformLayout() + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox2.PerformLayout() + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.formatInfoPanel.ResumeLayout(False) + Me.formatInfoPanel.PerformLayout() + Me.TabPage3.ResumeLayout(False) + Me.TabPage3.PerformLayout() + Me.TabPage4.ResumeLayout(False) + Me.TabPage4.PerformLayout() + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() + Me.TabPage5.ResumeLayout(False) + Me.TabPage5.PerformLayout() + Me.GroupBox3.ResumeLayout(False) + Me.GroupBox3.PerformLayout() + Me.TabPage6.ResumeLayout(False) + Me.TabPage6.PerformLayout() + Me.sortBox.ResumeLayout(False) + Me.sortBox.PerformLayout() + CType(Me.FileSystemWatcher1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.FileSystemWatcher2, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.LabelRepeat, System.ComponentModel.ISupportInitialize).EndInit() + Me.licensePanel.ResumeLayout(False) + Me.licensePanel.PerformLayout() + Me.Panel18.ResumeLayout(False) + Me.Panel18.PerformLayout() + Me.Panel19.ResumeLayout(False) + Me.Panel19.PerformLayout() + Me.xboxPanel.ResumeLayout(False) + Me.xboxPanel.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents OutputBox As System.Windows.Forms.TextBox + Friend WithEvents ManualPrint As System.Windows.Forms.Button + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Friend WithEvents ReviewBox As System.Windows.Forms.RadioButton + Friend WithEvents AutoPrintBox As System.Windows.Forms.RadioButton + Friend WithEvents TabControl1 As System.Windows.Forms.TabControl + Friend WithEvents TabPage1 As System.Windows.Forms.TabPage + Friend WithEvents TabPage2 As System.Windows.Forms.TabPage + Friend WithEvents TabPage3 As System.Windows.Forms.TabPage + Friend WithEvents TabPage4 As System.Windows.Forms.TabPage + Friend WithEvents RichTextBox1 As System.Windows.Forms.RichTextBox + Friend WithEvents inLeftMargin As System.Windows.Forms.TextBox + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents inTopMargin As System.Windows.Forms.TextBox + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents FontDialogButn As System.Windows.Forms.Button + Friend WithEvents inFontName As System.Windows.Forms.TextBox + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents PrinterDialogButn As System.Windows.Forms.Button + Friend WithEvents inPrinterName As System.Windows.Forms.TextBox + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents inCallNumSource As System.Windows.Forms.TextBox + Friend WithEvents inIssueLevelSource As System.Windows.Forms.TextBox + Friend WithEvents TextBox14 As System.Windows.Forms.TextBox + Friend WithEvents TextBox13 As System.Windows.Forms.TextBox + Friend WithEvents Label14 As System.Windows.Forms.Label + Friend WithEvents Label13 As System.Windows.Forms.Label + Friend WithEvents SaveAboveLC As System.Windows.Forms.Button + Friend WithEvents altList As System.Windows.Forms.ListBox + Friend WithEvents ComboBox1 As System.Windows.Forms.ComboBox + Friend WithEvents PrintDocument1 As System.Drawing.Printing.PrintDocument + Friend WithEvents FileSystemWatcher1 As System.IO.FileSystemWatcher + Friend WithEvents DesktopGroup As System.Windows.Forms.GroupBox + Friend WithEvents FTPGroup As System.Windows.Forms.GroupBox + Friend WithEvents useLandscape As System.Windows.Forms.RadioButton + Friend WithEvents usePortrait As System.Windows.Forms.RadioButton + Friend WithEvents TextBox17 As System.Windows.Forms.TextBox + Friend WithEvents Label17 As System.Windows.Forms.Label + Friend WithEvents Label21 As System.Windows.Forms.Label + Friend WithEvents Label20 As System.Windows.Forms.Label + Friend WithEvents Label19 As System.Windows.Forms.Label + Friend WithEvents Label18 As System.Windows.Forms.Label + Friend WithEvents Label22 As System.Windows.Forms.Label + Friend WithEvents TextBox23 As System.Windows.Forms.TextBox + Friend WithEvents TextBox22 As System.Windows.Forms.TextBox + Friend WithEvents TextBox21 As System.Windows.Forms.TextBox + Friend WithEvents TextBox20 As System.Windows.Forms.TextBox + Friend WithEvents TextBox19 As System.Windows.Forms.TextBox + Friend WithEvents Label16 As System.Windows.Forms.Label + Friend WithEvents FontDialog1 As System.Windows.Forms.FontDialog + Friend WithEvents UseFTP As System.Windows.Forms.RadioButton + Friend WithEvents UseDesktop As System.Windows.Forms.RadioButton + Friend WithEvents FileSystemWatcher2 As System.IO.FileSystemWatcher + Friend WithEvents InputBox As System.Windows.Forms.TextBox + Friend WithEvents ScanButton As System.Windows.Forms.Button + Friend WithEvents Label23 As System.Windows.Forms.Label + Friend WithEvents inFontSize As System.Windows.Forms.TextBox + Friend WithEvents SaveSettingsButn As System.Windows.Forms.Button + Friend WithEvents LoadSettingsButn As System.Windows.Forms.Button + Friend WithEvents inMaxChars As System.Windows.Forms.TextBox + Friend WithEvents Label25 As System.Windows.Forms.Label + Friend WithEvents Label15 As System.Windows.Forms.Label + Friend WithEvents inFontWeight As System.Windows.Forms.CheckBox + Friend WithEvents inLineSpacing As System.Windows.Forms.TextBox + Friend WithEvents Label26 As System.Windows.Forms.Label + Friend WithEvents Label27 As System.Windows.Forms.Label + Friend WithEvents inMaxLines As System.Windows.Forms.TextBox + Friend WithEvents Spine As System.Windows.Forms.RadioButton + Friend WithEvents CustomLabel As System.Windows.Forms.RadioButton + Friend WithEvents Label28 As System.Windows.Forms.Label + Friend WithEvents FTPip As System.Windows.Forms.TextBox + Friend WithEvents Label30 As System.Windows.Forms.Label + Friend WithEvents HistoryList As System.Windows.Forms.ListBox + Friend WithEvents ArrowLabel As System.Windows.Forms.Label + Friend WithEvents TempLabelBox As System.Windows.Forms.TextBox + Friend WithEvents CreateTempLbl As System.Windows.Forms.Label + Friend WithEvents createTemp As System.Windows.Forms.CheckBox + Friend WithEvents CheckForUpdates As System.Windows.Forms.Button + Friend WithEvents Label33 As System.Windows.Forms.Label + Friend WithEvents CustomText As System.Windows.Forms.TextBox + Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip + Friend WithEvents Label34 As System.Windows.Forms.Label + Friend WithEvents SheetSettings As System.Windows.Forms.Panel + Friend WithEvents Label36 As System.Windows.Forms.Label + Friend WithEvents Label41 As System.Windows.Forms.Label + Friend WithEvents Label40 As System.Windows.Forms.Label + Friend WithEvents Label39 As System.Windows.Forms.Label + Friend WithEvents Label38 As System.Windows.Forms.Label + Friend WithEvents Label37 As System.Windows.Forms.Label + Friend WithEvents inGapHeight As System.Windows.Forms.TextBox + Friend WithEvents inGapWidth As System.Windows.Forms.TextBox + Friend WithEvents inLabelHeight As System.Windows.Forms.TextBox + Friend WithEvents inLabelWidth As System.Windows.Forms.TextBox + Friend WithEvents inLabelCols As System.Windows.Forms.TextBox + Friend WithEvents inLabelRows As System.Windows.Forms.TextBox + Friend WithEvents Label42 As System.Windows.Forms.Label + Friend WithEvents UseLaser As System.Windows.Forms.RadioButton + Friend WithEvents btnPrintBatch As System.Windows.Forms.Button + Friend WithEvents Button2 As System.Windows.Forms.Button + Friend WithEvents batchPreview As System.Windows.Forms.TextBox + Friend WithEvents batchNumber As System.Windows.Forms.NumericUpDown + Friend WithEvents Label35 As System.Windows.Forms.Label + Friend WithEvents PrintDocument2 As System.Drawing.Printing.PrintDocument + Friend WithEvents PrintPreviewDialog1 As System.Windows.Forms.PrintPreviewDialog + Friend WithEvents FlagSlips As System.Windows.Forms.CheckBox + Friend WithEvents batchEntries As System.Windows.Forms.Label + Friend WithEvents Label43 As System.Windows.Forms.Label + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents Label47 As System.Windows.Forms.Label + Friend WithEvents Label12 As System.Windows.Forms.Label + Friend WithEvents btnBCFontDialog As System.Windows.Forms.Button + Friend WithEvents inBCFontWeight As System.Windows.Forms.CheckBox + Friend WithEvents Label29 As System.Windows.Forms.Label + Friend WithEvents inBCFontSize As System.Windows.Forms.TextBox + Friend WithEvents inBCFontName As System.Windows.Forms.TextBox + Friend WithEvents FTPPassword As System.Windows.Forms.TextBox + Friend WithEvents Label48 As System.Windows.Forms.Label + Friend WithEvents FTPLogin As System.Windows.Forms.TextBox + Friend WithEvents Label46 As System.Windows.Forms.Label + Friend WithEvents Label49 As System.Windows.Forms.Label + Friend WithEvents FTPHelp As System.Windows.Forms.Label + Friend WithEvents Label50 As System.Windows.Forms.Label + Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox + Friend WithEvents btnDocDownload As System.Windows.Forms.Button + Friend WithEvents FTPInfo As System.Windows.Forms.Label + Friend WithEvents parsedBy As System.Windows.Forms.Label + Friend WithEvents parsingSource As System.Windows.Forms.TextBox + Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox + Friend WithEvents radio_useSOMparsing As System.Windows.Forms.RadioButton + Friend WithEvents useExlibrisParsing As System.Windows.Forms.RadioButton + Friend WithEvents chkIncludeHoldings As System.Windows.Forms.CheckBox + Friend WithEvents TabPage5 As System.Windows.Forms.TabPage + Friend WithEvents useServlet As System.Windows.Forms.RadioButton + Friend WithEvents UseJavaApp As System.Windows.Forms.RadioButton + Friend WithEvents XMLPath As System.Windows.Forms.TextBox + Friend WithEvents btnMonitor As System.Windows.Forms.Button + Friend WithEvents WebServiceURL As System.Windows.Forms.TextBox + Friend WithEvents inAlmaPassword As System.Windows.Forms.TextBox + Friend WithEvents Label52 As System.Windows.Forms.Label + Friend WithEvents inAlmaUsername As System.Windows.Forms.TextBox + Friend WithEvents Label51 As System.Windows.Forms.Label + Friend WithEvents inAlmaUrl As System.Windows.Forms.TextBox + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents inAlmaInstCode As System.Windows.Forms.TextBox + Friend WithEvents Label53 As System.Windows.Forms.Label + Friend WithEvents altURL As System.Windows.Forms.TextBox + Friend WithEvents altText As System.Windows.Forms.TextBox + Friend WithEvents btn_saveALT As System.Windows.Forms.Button + Friend WithEvents btn_cancelALT As System.Windows.Forms.Button + Friend WithEvents btn_deleteALT As System.Windows.Forms.Button + Friend WithEvents btn_changeALT As System.Windows.Forms.Button + Friend WithEvents btn_addALT As System.Windows.Forms.Button + Friend WithEvents Label44 As System.Windows.Forms.Label + Friend WithEvents Label54 As System.Windows.Forms.Label + Friend WithEvents radio_useLocal As System.Windows.Forms.RadioButton + Friend WithEvents radio_useSystem As System.Windows.Forms.RadioButton + Friend WithEvents usrname As System.Windows.Forms.TextBox + Friend WithEvents lblUser As System.Windows.Forms.Label + Friend WithEvents chkRequireUser As System.Windows.Forms.CheckBox + Friend WithEvents Label10 As System.Windows.Forms.Label + Friend WithEvents station As System.Windows.Forms.TextBox + Friend WithEvents lblStation As System.Windows.Forms.Label + Friend WithEvents TabPage6 As System.Windows.Forms.TabPage + Friend WithEvents Label55 As System.Windows.Forms.Label + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents toScan As System.Windows.Forms.DateTimePicker + Friend WithEvents fromScan As System.Windows.Forms.DateTimePicker + Friend WithEvents STL As System.Windows.Forms.ListBox + Friend WithEvents btnScan As System.Windows.Forms.Button + Friend WithEvents radioByLibrary As System.Windows.Forms.RadioButton + Friend WithEvents radioByUser As System.Windows.Forms.RadioButton + Friend WithEvents statsOut As System.Windows.Forms.TextBox + Friend WithEvents searchArg As System.Windows.Forms.TextBox + Friend WithEvents radioSearch As System.Windows.Forms.RadioButton + Friend WithEvents Label56 As System.Windows.Forms.Label + Friend WithEvents Label57 As System.Windows.Forms.Label + Friend WithEvents radioByLocation As System.Windows.Forms.RadioButton + Friend WithEvents sortSTL As System.Windows.Forms.ListBox + Friend WithEvents byCount As System.Windows.Forms.RadioButton + Friend WithEvents sortBox As System.Windows.Forms.GroupBox + Friend WithEvents byAlpha As System.Windows.Forms.RadioButton + Friend WithEvents Label60 As System.Windows.Forms.Label + Friend WithEvents Label61 As System.Windows.Forms.Label + Friend WithEvents inclScanned As System.Windows.Forms.CheckBox + Friend WithEvents chkIncludeOther As System.Windows.Forms.CheckBox + Friend WithEvents inOtherSource As System.Windows.Forms.TextBox + Friend WithEvents marginPanel As System.Windows.Forms.Panel + Friend WithEvents orientationPanel As System.Windows.Forms.Panel + Friend WithEvents nonFlagDefaults As System.Windows.Forms.TextBox + Friend WithEvents flagDefaults As System.Windows.Forms.TextBox + Friend WithEvents tips As System.Windows.Forms.CheckBox + Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents javaCheck As System.Windows.Forms.Button + Friend WithEvents javabox As System.Windows.Forms.TextBox + Friend WithEvents Label31 As System.Windows.Forms.Label + Friend WithEvents Label32 As System.Windows.Forms.Label + Friend WithEvents Label11 As System.Windows.Forms.Label + Friend WithEvents inStartCol As System.Windows.Forms.TextBox + Friend WithEvents inStartRow As System.Windows.Forms.TextBox + Friend WithEvents Label64 As System.Windows.Forms.Label + Friend WithEvents Label63 As System.Windows.Forms.Label + Friend WithEvents chkGeoList As System.Windows.Forms.CheckBox + Friend WithEvents tweakParsingPanel As System.Windows.Forms.Panel + Friend WithEvents Label71 As System.Windows.Forms.Label + Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox + Friend WithEvents Label59 As System.Windows.Forms.Label + Friend WithEvents Label58 As System.Windows.Forms.Label + Friend WithEvents testCallNumType As System.Windows.Forms.TextBox + Friend WithEvents btnTestParser As System.Windows.Forms.Button + Friend WithEvents tweakTest As System.Windows.Forms.Label + Friend WithEvents Label73 As System.Windows.Forms.Label + Friend WithEvents testComboBox As System.Windows.Forms.ComboBox + Friend WithEvents TabControl2 As System.Windows.Forms.TabControl + Friend WithEvents TabPage7 As System.Windows.Forms.TabPage + Friend WithEvents TabPage8 As System.Windows.Forms.TabPage + Friend WithEvents lcNumericBreak As System.Windows.Forms.RadioButton + Friend WithEvents lcNoNumericBreak As System.Windows.Forms.RadioButton + Friend WithEvents Label74 As System.Windows.Forms.Label + Friend WithEvents Label66 As System.Windows.Forms.Label + Friend WithEvents Panel5 As System.Windows.Forms.Panel + Friend WithEvents lcDecimalBreakB4 As System.Windows.Forms.RadioButton + Friend WithEvents lcNoDecimalBreak As System.Windows.Forms.RadioButton + Friend WithEvents Panel7 As System.Windows.Forms.Panel + Friend WithEvents Label75 As System.Windows.Forms.Label + Friend WithEvents lcCutterBreak As System.Windows.Forms.RadioButton + Friend WithEvents lcCutterNoBreak As System.Windows.Forms.RadioButton + Friend WithEvents Panel8 As System.Windows.Forms.Panel + Friend WithEvents Label76 As System.Windows.Forms.Label + Friend WithEvents lcInCutterBreak As System.Windows.Forms.RadioButton + Friend WithEvents lcIncutternobreak As System.Windows.Forms.RadioButton + Friend WithEvents TabPage10 As System.Windows.Forms.TabPage + Friend WithEvents TabPage11 As System.Windows.Forms.TabPage + Friend WithEvents Panel9 As System.Windows.Forms.Panel + Friend WithEvents Label77 As System.Windows.Forms.Label + Friend WithEvents deweyCutterBreak As System.Windows.Forms.RadioButton + Friend WithEvents deweyCutterNoBreak As System.Windows.Forms.RadioButton + Friend WithEvents Panel11 As System.Windows.Forms.Panel + Friend WithEvents Label79 As System.Windows.Forms.Label + Friend WithEvents deweyDecimalBreakb4 As System.Windows.Forms.RadioButton + Friend WithEvents deweyDecimalNoBreak As System.Windows.Forms.RadioButton + Friend WithEvents otherAllSpaceBreak As System.Windows.Forms.RadioButton + Friend WithEvents otherSpaceNoBreak As System.Windows.Forms.RadioButton + Friend WithEvents Label80 As System.Windows.Forms.Label + Friend WithEvents otherListBreakb4 As System.Windows.Forms.RadioButton + Friend WithEvents otherListNoBreak As System.Windows.Forms.RadioButton + Friend WithEvents otherBreak As System.Windows.Forms.TextBox + Friend WithEvents Label81 As System.Windows.Forms.Label + Friend WithEvents otherListBreakAfter As System.Windows.Forms.RadioButton + Friend WithEvents Panel12 As System.Windows.Forms.Panel + Friend WithEvents Panel13 As System.Windows.Forms.Panel + Friend WithEvents otherNumBreakb4 As System.Windows.Forms.RadioButton + Friend WithEvents othernumnobreak As System.Windows.Forms.RadioButton + Friend WithEvents Label83 As System.Windows.Forms.Label + Friend WithEvents otherFirstSpaceBreak As System.Windows.Forms.RadioButton + Friend WithEvents otherNumBreakAfter As System.Windows.Forms.RadioButton + Friend WithEvents deweyDecimalBreakAft As System.Windows.Forms.RadioButton + Friend WithEvents Panel14 As System.Windows.Forms.Panel + Friend WithEvents Label82 As System.Windows.Forms.Label + Friend WithEvents deweyPrefixBreak As System.Windows.Forms.RadioButton + Friend WithEvents deweyPrefixNoBreak As System.Windows.Forms.RadioButton + Friend WithEvents deweyCharBreak As System.Windows.Forms.TextBox + Friend WithEvents Panel15 As System.Windows.Forms.Panel + Friend WithEvents deweyCharBreakAft As System.Windows.Forms.RadioButton + Friend WithEvents Label84 As System.Windows.Forms.Label + Friend WithEvents deweyCharBreakb4 As System.Windows.Forms.RadioButton + Friend WithEvents deweyOtherNoBreak As System.Windows.Forms.RadioButton + Friend WithEvents Panel3 As System.Windows.Forms.Panel + Friend WithEvents sudocNoDecimalBreak As System.Windows.Forms.RadioButton + Friend WithEvents sudocBreakDecimal As System.Windows.Forms.RadioButton + Friend WithEvents Label69 As System.Windows.Forms.Label + Friend WithEvents sudocBreakBeforeColon As System.Windows.Forms.RadioButton + Friend WithEvents sudocBreakAfterColon As System.Windows.Forms.RadioButton + Friend WithEvents sudocNoColonBreak As System.Windows.Forms.RadioButton + Friend WithEvents Label67 As System.Windows.Forms.Label + Friend WithEvents Panel4 As System.Windows.Forms.Panel + Friend WithEvents sudocDashNoBreak As System.Windows.Forms.RadioButton + Friend WithEvents sudocDashBreak As System.Windows.Forms.RadioButton + Friend WithEvents Label70 As System.Windows.Forms.Label + Friend WithEvents Panel2 As System.Windows.Forms.Panel + Friend WithEvents sudocSlashNobreak As System.Windows.Forms.RadioButton + Friend WithEvents sudocSlashBreak As System.Windows.Forms.RadioButton + Friend WithEvents Label68 As System.Windows.Forms.Label + Friend WithEvents Panel6 As System.Windows.Forms.Panel + Friend WithEvents Label78 As System.Windows.Forms.Label + Friend WithEvents lcOtherBreakB4 As System.Windows.Forms.RadioButton + Friend WithEvents lcOtherNoBreak As System.Windows.Forms.RadioButton + Friend WithEvents lcBreak As System.Windows.Forms.TextBox + Friend WithEvents lcOtherBreakAft As System.Windows.Forms.RadioButton + Friend WithEvents lcRemoveAfter As System.Windows.Forms.CheckBox + Friend WithEvents deweyRemoveAfter As System.Windows.Forms.CheckBox + Friend WithEvents otherRemoveAfter As System.Windows.Forms.CheckBox + Friend WithEvents Panel10 As System.Windows.Forms.Panel + Friend WithEvents sudocNoBreakB4Numerics As System.Windows.Forms.RadioButton + Friend WithEvents sudocBreakB4Numerics As System.Windows.Forms.RadioButton + Friend WithEvents Label85 As System.Windows.Forms.Label + Friend WithEvents LabelRepeat As System.Windows.Forms.NumericUpDown + Friend WithEvents Label86 As System.Windows.Forms.Label + Friend WithEvents Label87 As System.Windows.Forms.Label + Friend WithEvents chkXMLWarning As System.Windows.Forms.CheckBox + Friend WithEvents lblXMLWarn As System.Windows.Forms.Label + Friend WithEvents lblToggleAdmin As System.Windows.Forms.Label + Friend WithEvents Label24 As System.Windows.Forms.Label + Friend WithEvents wrapWidth As System.Windows.Forms.TextBox + Friend WithEvents flagWrapWidth As System.Windows.Forms.TextBox + Friend WithEvents nonFlagWrapWidth As System.Windows.Forms.TextBox + Friend WithEvents showLabelType As System.Windows.Forms.Label + Friend WithEvents Label72 As System.Windows.Forms.Label + Friend WithEvents Label91 As System.Windows.Forms.Label + Friend WithEvents chkUsePocketLabels As System.Windows.Forms.CheckBox + Friend WithEvents PocketLabelPanel As System.Windows.Forms.Panel + Friend WithEvents plOutput As System.Windows.Forms.TextBox + Friend WithEvents Label88 As System.Windows.Forms.Label + Friend WithEvents btnPlCustom As System.Windows.Forms.RadioButton + Friend WithEvents plSrc1 As System.Windows.Forms.TextBox + Friend WithEvents plSrc3 As System.Windows.Forms.TextBox + Friend WithEvents plSrc2 As System.Windows.Forms.TextBox + Friend WithEvents plSrc4 As System.Windows.Forms.TextBox + Friend WithEvents plMin3 As System.Windows.Forms.TextBox + Friend WithEvents plMin2 As System.Windows.Forms.TextBox + Friend WithEvents plMin1 As System.Windows.Forms.TextBox + Friend WithEvents Label93 As System.Windows.Forms.Label + Friend WithEvents Label92 As System.Windows.Forms.Label + Friend WithEvents plMin4 As System.Windows.Forms.TextBox + Friend WithEvents Label96 As System.Windows.Forms.Label + Friend WithEvents plMax4 As System.Windows.Forms.TextBox + Friend WithEvents plMax3 As System.Windows.Forms.TextBox + Friend WithEvents plMax2 As System.Windows.Forms.TextBox + Friend WithEvents plMax1 As System.Windows.Forms.TextBox + Friend WithEvents Label95 As System.Windows.Forms.Label + Friend WithEvents Label97 As System.Windows.Forms.Label + Friend WithEvents plWork As System.Windows.Forms.TextBox + Friend WithEvents Label99 As System.Windows.Forms.Label + Friend WithEvents Label98 As System.Windows.Forms.Label + Friend WithEvents plDistance As System.Windows.Forms.TextBox + Friend WithEvents PLcount As System.Windows.Forms.NumericUpDown + Friend WithEvents Label102 As System.Windows.Forms.Label + Friend WithEvents plLeftMargin As System.Windows.Forms.TextBox + Friend WithEvents Label103 As System.Windows.Forms.Label + Friend WithEvents FTPwarning As System.Windows.Forms.Label + Friend WithEvents Label101 As System.Windows.Forms.Label + Friend WithEvents Label100 As System.Windows.Forms.Label + Friend WithEvents Label94 As System.Windows.Forms.Label + Friend WithEvents btnSL6 As System.Windows.Forms.RadioButton + Friend WithEvents btnSL4 As System.Windows.Forms.RadioButton + Friend WithEvents btnSLB As System.Windows.Forms.RadioButton + Friend WithEvents Label105 As System.Windows.Forms.Label + Friend WithEvents Label104 As System.Windows.Forms.Label + Friend WithEvents Label106 As System.Windows.Forms.Label + Friend WithEvents showFormatInfo As System.Windows.Forms.TextBox + Friend WithEvents closeFormatInfo As System.Windows.Forms.TextBox + Friend WithEvents formatInfoPanel As System.Windows.Forms.Panel + Friend WithEvents Label45 As System.Windows.Forms.Label + Friend WithEvents FTPwarning2 As System.Windows.Forms.Label + Friend WithEvents spineType As System.Windows.Forms.Label + Friend WithEvents userDefinedPanel As System.Windows.Forms.Panel + Friend WithEvents spineDefaults As System.Windows.Forms.TextBox + Friend WithEvents lcType As System.Windows.Forms.TextBox + Friend WithEvents Label107 As System.Windows.Forms.Label + Friend WithEvents DeweyType As System.Windows.Forms.TextBox + Friend WithEvents Label108 As System.Windows.Forms.Label + Friend WithEvents sudocType As System.Windows.Forms.TextBox + Friend WithEvents Label109 As System.Windows.Forms.Label + Friend WithEvents otherType As System.Windows.Forms.TextBox + Friend WithEvents Label110 As System.Windows.Forms.Label + Friend WithEvents convertBlankTo As System.Windows.Forms.TextBox + Friend WithEvents Label65 As System.Windows.Forms.Label + Friend WithEvents logEdits As System.Windows.Forms.CheckBox + Friend WithEvents TabPage9 As System.Windows.Forms.TabPage + Friend WithEvents BreakParen As System.Windows.Forms.CheckBox + Friend WithEvents ProtectColon As System.Windows.Forms.CheckBox + Friend WithEvents ColonBreak As System.Windows.Forms.CheckBox + Friend WithEvents issueBreak As System.Windows.Forms.TextBox + Friend WithEvents issueRemoveAfter As System.Windows.Forms.CheckBox + Friend WithEvents issueListBreakAfter As System.Windows.Forms.RadioButton + Friend WithEvents issueListBreakB4 As System.Windows.Forms.RadioButton + Friend WithEvents issueListNoBreak As System.Windows.Forms.RadioButton + Friend WithEvents hideCutterDecimal As System.Windows.Forms.CheckBox + Friend WithEvents TextBox24 As System.Windows.Forms.TextBox + Friend WithEvents pocketDefaults As System.Windows.Forms.TextBox + Friend WithEvents printProgress As System.Windows.Forms.Label + Friend WithEvents configText As System.Windows.Forms.TextBox + Friend WithEvents licenseAgreement As System.Windows.Forms.TextBox + Friend WithEvents licensePanel As System.Windows.Forms.Panel + Friend WithEvents licenseHeadline As System.Windows.Forms.Label + Friend WithEvents cancelAgreement As System.Windows.Forms.Button + Friend WithEvents acceptAgreement As System.Windows.Forms.Button + Friend WithEvents btnViewLicense As System.Windows.Forms.Button + Friend WithEvents TextBox1 As System.Windows.Forms.TextBox + Friend WithEvents spaceBreak As System.Windows.Forms.CheckBox + Friend WithEvents lbl_setclipboard As System.Windows.Forms.Label + Friend WithEvents copyDone As System.Windows.Forms.Label + Friend WithEvents lbl_copyXMLtext As System.Windows.Forms.Label + Friend WithEvents includeSettings As System.Windows.Forms.CheckBox + Friend WithEvents xmlCopyDone As System.Windows.Forms.Label + Friend WithEvents chkAddHostname As System.Windows.Forms.CheckBox + Friend WithEvents ftpArrow As System.Windows.Forms.Label + Friend WithEvents ftpRegisterMsg As System.Windows.Forms.Label + Friend WithEvents btn_ftpRegister As System.Windows.Forms.Button + Friend WithEvents Label111 As System.Windows.Forms.Label + Friend WithEvents Label62 As System.Windows.Forms.Label + Friend WithEvents suppress3 As System.Windows.Forms.TextBox + Friend WithEvents suppress2 As System.Windows.Forms.TextBox + Friend WithEvents suppress1 As System.Windows.Forms.TextBox + Friend WithEvents sudocRemoveAfter As System.Windows.Forms.CheckBox + Friend WithEvents sudocCharBreak As System.Windows.Forms.TextBox + Friend WithEvents Panel16 As System.Windows.Forms.Panel + Friend WithEvents sudocCharBreakAft As System.Windows.Forms.RadioButton + Friend WithEvents Label113 As System.Windows.Forms.Label + Friend WithEvents sudocCharBreakB4 As System.Windows.Forms.RadioButton + Friend WithEvents sudocOtherNoBreak As System.Windows.Forms.RadioButton + Friend WithEvents RadioButton1 As System.Windows.Forms.RadioButton + Friend WithEvents Label112 As System.Windows.Forms.Label + Friend WithEvents RadioButton2 As System.Windows.Forms.RadioButton + Friend WithEvents RadioButton3 As System.Windows.Forms.RadioButton + Friend WithEvents useDOSBatch As System.Windows.Forms.CheckBox + Friend WithEvents viaDOSPanel As System.Windows.Forms.Panel + Friend WithEvents batchDisplay As System.Windows.Forms.TextBox + Friend WithEvents Label114 As System.Windows.Forms.Label + Friend WithEvents viadosSave As System.Windows.Forms.Button + Friend WithEvents dosBlankLines As System.Windows.Forms.TextBox + Friend WithEvents Label115 As System.Windows.Forms.Label + Friend WithEvents Label117 As System.Windows.Forms.Label + Friend WithEvents dosPlUseTab As System.Windows.Forms.RadioButton + Friend WithEvents dosPlUseCol As System.Windows.Forms.RadioButton + Friend WithEvents dosPlColNum As System.Windows.Forms.TextBox + Friend WithEvents dosPlTabNum As System.Windows.Forms.TextBox + Friend WithEvents Label119 As System.Windows.Forms.Label + Friend WithEvents Label118 As System.Windows.Forms.Label + Friend WithEvents batsignal As System.Windows.Forms.Label + Friend WithEvents hideDosWindow As System.Windows.Forms.CheckBox + Friend WithEvents loadViados As System.Windows.Forms.Button + Friend WithEvents Label122 As System.Windows.Forms.Label + Friend WithEvents dosParam2 As System.Windows.Forms.TextBox + Friend WithEvents dosParam1 As System.Windows.Forms.TextBox + Friend WithEvents Label120 As System.Windows.Forms.Label + Friend WithEvents Panel17 As System.Windows.Forms.Panel + Friend WithEvents dosAddLines As System.Windows.Forms.RadioButton + Friend WithEvents dosUseFF As System.Windows.Forms.RadioButton + Friend WithEvents appendAscii As System.Windows.Forms.TextBox + Friend WithEvents updatePath As System.Windows.Forms.TextBox + Friend WithEvents Panel18 As System.Windows.Forms.Panel + Friend WithEvents Label116 As System.Windows.Forms.Label + Friend WithEvents unitCM As System.Windows.Forms.RadioButton + Friend WithEvents unitINCH As System.Windows.Forms.RadioButton + Friend WithEvents inUnits1 As System.Windows.Forms.Label + Friend WithEvents inUnits2 As System.Windows.Forms.Label + Friend WithEvents plUnits2 As System.Windows.Forms.Label + Friend WithEvents plUnits1 As System.Windows.Forms.Label + Friend WithEvents Label121 As System.Windows.Forms.Label + Friend WithEvents Panel19 As System.Windows.Forms.Panel + Friend WithEvents decimalCOMMA As System.Windows.Forms.RadioButton + Friend WithEvents decimalDOT As System.Windows.Forms.RadioButton + Friend WithEvents Label123 As System.Windows.Forms.Label + Friend WithEvents Label124 As System.Windows.Forms.Label + Friend WithEvents deweyGroup3 As System.Windows.Forms.CheckBox + Friend WithEvents deweydigitsperline As System.Windows.Forms.TextBox + Friend WithEvents Label125 As System.Windows.Forms.Label + Friend WithEvents xboxPanel As System.Windows.Forms.Panel + Friend WithEvents closeXbox As System.Windows.Forms.Label + Friend WithEvents XBOX As System.Windows.Forms.ListBox + Friend WithEvents Label89 As System.Windows.Forms.Label + Friend WithEvents Label90 As System.Windows.Forms.Label + Friend WithEvents holdingsBy As System.Windows.Forms.Label + Friend WithEvents viadosCaution As System.Windows.Forms.Label + Friend WithEvents lcDecimalBreakAfter As System.Windows.Forms.RadioButton + Friend WithEvents Label127 As System.Windows.Forms.Label + Friend WithEvents Label126 As System.Windows.Forms.Label + Friend WithEvents deweyDigitsToBreak As System.Windows.Forms.TextBox + Friend WithEvents Label128 As System.Windows.Forms.Label + Friend WithEvents deweyDecBreak As System.Windows.Forms.CheckBox + Friend WithEvents ispList As System.Windows.Forms.ListBox + Friend WithEvents showIsp As System.Windows.Forms.CheckBox + Friend WithEvents UseRestfulApi As System.Windows.Forms.RadioButton + Friend WithEvents Label129 As System.Windows.Forms.Label + Friend WithEvents apiKey As System.Windows.Forms.TextBox + Friend WithEvents apiURL As System.Windows.Forms.TextBox + Friend WithEvents Label130 As System.Windows.Forms.Label + Friend WithEvents Label131 As System.Windows.Forms.Label + Friend WithEvents apiMethod As System.Windows.Forms.TextBox + Friend WithEvents Label132 As System.Windows.Forms.Label + Friend WithEvents Label133 As System.Windows.Forms.Label + Friend WithEvents Label134 As System.Windows.Forms.Label + Friend WithEvents xmlShell As System.Windows.Forms.TextBox + Friend WithEvents accessType As System.Windows.Forms.Label + Friend WithEvents dontConvert As System.Windows.Forms.CheckBox + +End Class diff --git a/Form1.resx b/Form1.resx new file mode 100644 index 0000000..723ca07 --- /dev/null +++ b/Form1.resx @@ -0,0 +1,371 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>597, 17</value> + </metadata> + <data name="FTPHelp.Text" xml:space="preserve"> + <value>SpineOMatic logs on to the printer's FTP server using the IP address, Login ID +and Password provided. Each vertical line of the spine label is given a +position defined by L Margin and Top, with the Top of each line incrementing +by the value of Line Spacing. Font # and Size depend on the printer. +The several lines of #LABELTEXT# are then inserted into the "Label Format +Commands" at the point indicated, and the block is then sent to the printer.</value> + </data> + <data name="Label45.Text" xml:space="preserve"> + <value>~ add blank line + ! print barcode += wrap to label width: +% parse call number +# parse holdings +^ no line break after field +".." prepend quoted text ++ use Label Prefix, if any + * suppress if field is blank, + or if it has value(s):</value> + </data> + <data name="xmlShell.Text" xml:space="preserve"> + <value><?xml version="1.0" ?> +<printout> +<result> +<error> </error> </result> +<form-name>Default</form-name> +<form-language>???</form-language> +<form-format>??</form-format> +<section-01> +<physical_item_display_for_printing> +**XMLBODY** +</physical_item_display_for_printing> +</section-01> +</printout></value> + </data> + <metadata name="PrintDocument1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>17, 17</value> + </metadata> + <metadata name="FileSystemWatcher1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>157, 17</value> + </metadata> + <data name="TextBox1.Text" xml:space="preserve"> + <value>To install and use the SpineOMatic software you must agree to the terms of the above license agreement by clicking the "I agree" button. +If you do not accept the terms of the agreement, click the "I decline" button to prevent installation and operation of the software.</value> + </data> + <data name="licenseAgreement.Text" xml:space="preserve"> + <value>Trustees of Boston College (“BC”) is making this Software available for free under this agreement as a public service. BC grants to you a non-exclusive, royalty-free license, subject to all the terms and conditions of this agreement, to use and copy the SpineOMatic software (the “Software”) solely for non-commercial, internal purposes. + +BC retains all intellectual property and proprietary rights in and to the Software. You may not modify or remove from the Software any copyright or proprietary notice, license agreement, or any disclaimer or documentation that accompanies the Software. You may not reverse engineer, decompile, disassemble or otherwise attempt to derive the source code for the Software. The name “SpineOMatic” is proprietary and you may not use any name, trademark, or logo of BC without the prior written permission of BC in each case. + +You are solely responsible for the selection, management, control and use of the Software and the outcomes of such use. The Software is provided on an “AS IS” basis. BC makes no warranties of any kind, express or implied, with respect to the Software, and expressly disclaims all warranties of title, non-infringement, merchantability and fitness for a particular purpose. + +In no event shall BC or its officers, trustees, employees or agents, be liable for any direct, indirect, special, incidental, punitive or consequential damages (including without limitation damages resulting from loss of use, loss of data, loss of profits or loss of business) arising out of the use or the inability to use the Software. + +You agree that you are solely responsible for complying with all laws applicable to your access and use of this Software, including, without limitation, compliance with any applicable export control law. + +You hereby release, and agree to indemnify, defend, and hold harmless BC and its trustees, officers, employees and agents (“Indemnities”) against any liability, damage, loss, or expense (including reasonable attorneys’ fees and expenses) incurred by or imposed upon any of the Indemnities in connection with any claims, demands or judgments arising out of any theory of liability (including without limitation actions in tort, warranty, or strict liability and regardless of whether such action has any factual basis) in connection with your use of the Software. + +In the event that you breach this agreement, BC may terminate the license, effective immediately upon notice to you. You agree that this license shall be governed by the law of the Commonwealth of Massachusetts, without regard to its conflict of laws principles and without regard to the United Nations Convention on Contracts for the International Sale of Goods. The English language version of this agreement shall be the official version of this agreement for all purposes. You agree that the exclusive venue and jurisdiction for any dispute arising under this agreement will be the courts located in and near Boston, Massachusetts. This agreement contains the entire understanding between BC and you. If any provision of this agreement is held to be invalid or unenforceable, it is the intent of the parties that the provision shall be deemed modified as little as necessary to be enforceable and preserve its intent, and that all other provisions of this agreement shall remain fully valid and binding. + +By clicking “I agree” you agree to the terms and conditions of this agreement.</value> + </data> + <metadata name="FontDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>318, 17</value> + </metadata> + <metadata name="FileSystemWatcher2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>436, 17</value> + </metadata> + <metadata name="PrintDocument2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>17, 56</value> + </metadata> + <metadata name="PrintPreviewDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>157, 56</value> + </metadata> + <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <data name="PrintPreviewDialog1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAABAAYAICAQAAAAAADoAgAAZgAAABAQEAAAAAAAKAEAAE4DAAAgIAAAAQAIAKgIAAB2BAAAEBAAAAEA + CABoBQAAHg0AACAgAAABACAAqBAAAIYSAAAQEAAAAQAgAGgEAAAuIwAAKAAAACAAAABAAAAAAQAEAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA + /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIoiI + iIiIiIiIiIiIiIiIiIiCIigiIiIozMzMzMzMyCIogiIoIiIiKM7m5ubm5sgiKIIiKCIiIijObm5ubm7I + IiiCIigiIiIozubm5ubmyCIogiIoIiIiKM5ubm5ubsgiKIIiKCIiIijO5ubm5ubIIiiIiIiIiIiIzm5u + bm5uyCIogRERERERGM7u7u7u7sgiKIHZWVlZWRjMzMzMzMzIIiiB1ZWVlZUYiIiIiIiIiIiIgdlZWVlZ + GDMzMzMzMzMzOIHVlZWVlRg/uLi4uLi4uDiB2VlZWVkYP7uLi4uLi4s4gdWVlZWVGD+4uLi4uLi4OIHZ + WVlZWRg/u4uLi4uLiziB1ZWVlZUYP7i4uLi4uLg4gdlZWVlZGD+7i4uLi4uLOIHVlZWVlRg/uLi4uLi4 + uDiB3d3d3d0YP7uLi4uLi4s4gRERERERGD+4uLi4uLi4OIiIiIiIiIg/u4uLi4uLiziCIiIiIiIoP7i4 + uLi4uLg4giIiIiIiKD+7i4uLi4uLOIIiIiIiIig/uLi4uLi4uDiCIiIiIiIoP7u7u7u7u7s4giIiIiIi + KD//////////OIIiIiIiIigzMzMzMzMzMziIiIiIiIiIiIiIiIiIiIiIIiIiIiIiIiIiIiIiIiIiIv// + ////////AAAAAHv4AA57+AAOe/gADnv4AA57+AAOe/gADgAAAA4AAAAOAAAADgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/4AAB/+AAAf/gAAH/4AAB/+AAAf/gAAAAA + AAD/////KAAAABAAAAAgAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACA + gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAiIiIiIiIiIoiI + iIiIiIiIgigijMzMyCiCKCKM5mbIKIiIiIzu7sgogRERjMzMyCiB2ZGIiIiIiIHZkYMzMzM4gdmRg/u7 + uziB3dGD+7u7OIEREYP7u7s4iIiIg/u7uziCIiKD+7u7OIIiIoP///84giIigzMzMziIiIiIiIiIiP// + KCIAACjObALm5mwCIigAAoiIAAKIzgAAbm4AACIoAAAREQAAGM4AAO7uAAAiKHwAWVl8ABjMfADMzAAA + IigoAAAAIAAAAEAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAA + AACAAIAAgIAAAICAgADA3MAA8MqmAKo/KgD/PyoAAF8qAFVfKgCqXyoA/18qAAB/KgBVfyoAqn8qAP9/ + KgAAnyoAVZ8qAKqfKgD/nyoAAL8qAFW/KgCqvyoA/78qAADfKgBV3yoAqt8qAP/fKgAA/yoAVf8qAKr/ + KgD//yoAAABVAFUAVQCqAFUA/wBVAAAfVQBVH1UAqh9VAP8fVQAAP1UAVT9VAKo/VQD/P1UAAF9VAFVf + VQCqX1UA/19VAAB/VQBVf1UAqn9VAP9/VQAAn1UAVZ9VAKqfVQD/n1UAAL9VAFW/VQCqv1UA/79VAADf + VQBV31UAqt9VAP/fVQAA/1UAVf9VAKr/VQD//1UAAAB/AFUAfwCqAH8A/wB/AAAffwBVH38Aqh9/AP8f + fwAAP38AVT9/AKo/fwD/P38AAF9/AFVffwCqX38A/19/AAB/fwBVf38Aqn9/AP9/fwAAn38AVZ9/AKqf + fwD/n38AAL9/AFW/fwCqv38A/79/AADffwBV338Aqt9/AP/ffwAA/38AVf9/AKr/fwD//38AAACqAFUA + qgCqAKoA/wCqAAAfqgBVH6oAqh+qAP8fqgAAP6oAVT+qAKo/qgD/P6oAAF+qAFVfqgCqX6oA/1+qAAB/ + qgBVf6oAqn+qAP9/qgAAn6oAVZ+qAKqfqgD/n6oAAL+qAFW/qgCqv6oA/7+qAADfqgBV36oAqt+qAP/f + qgAA/6oAVf+qAKr/qgD//6oAAADUAFUA1ACqANQA/wDUAAAf1ABVH9QAqh/UAP8f1AAAP9QAVT/UAKo/ + 1AD/P9QAAF/UAFVf1ACqX9QA/1/UAAB/1ABVf9QAqn/UAP9/1AAAn9QAVZ/UAKqf1AD/n9QAAL/UAFW/ + 1ACqv9QA/7/UAADf1ABV39QAqt/UAP/f1AAA/9QAVf/UAKr/1AD//9QAVQD/AKoA/wAAH/8AVR//AKof + /wD/H/8AAD//AFU//wCqP/8A/z//AABf/wBVX/8Aql//AP9f/wAAf/8AVX//AKp//wD/f/8AAJ//AFWf + /wCqn/8A/5//AAC//wBVv/8Aqr//AP+//wAA3/8AVd//AKrf/wD/3/8AVf//AKr//wD/zMwA/8z/AP// + MwD//2YA//+ZAP//zAAAfwAAVX8AAKp/AAD/fwAAAJ8AAFWfAACqnwAA/58AAAC/AABVvwAAqr8AAP+/ + AAAA3wAAVd8AAKrfAAD/3wAAVf8AAKr/AAAAACoAVQAqAKoAKgD/ACoAAB8qAFUfKgCqHyoA/x8qAAA/ + KgBVPyoA8Pv/AKSgoACAgIAAAAD/AAD/AAAA//8A/wAAAAAAAAD//wAA////AP39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39qoYIqoYIhqoIqgiqCaoIqgiqhqqGhoYIhoYIqv39/f0I/f39 + /ar9/f39/YY2Ng4yDg4ODgoOCgoKCgqG/f39/Yb9/f39CP39/f39qjY7Ozs3Nzc3NjMSMjIOCqr9/f39 + qv39/f2G/f39/f0IN19fOzs3Nzc3NjcODg4KCP39/f0I/f39/ar9/f39/ao6X19fXzs7Ozc3NzY3NgqG + /f39/Yb9/f39CP39/f39hl9jY19jX187Ozs7Nzc3Dqr9/f39qv39/f2G/f39/f0IOodjh19jX19fXztf + OzcOCP39/f0ICAmqCAiqCKoICapfCYdjh2ODY19fXzs7Ow6q/f39/QhITEwoSCUoKSQoqmMJCYcJCWNj + Y2NfY19fNgj9/f39qkyZmZmYmJRwlCmqX19fXl9fX186WzY3Njc2gv39/f0JcJ2dmZmZlJmUJAmqCaoJ + hggIqggICKoIqggI/f39/YZwnp2dnZmZmJVMqnx8fHx8fFR8VHhUVFRUVKr9/f39CHChoZ2dnZ2ZmUwJ + fKSkxqSkxqSkpKSkpKBUCP39/f2qcKLDoqGdnZ2ZTKp8ysakxqSkxqSkxqSkpFSq/f39/QiUpqbDoqHE + nZ1Mq3ykqMakyqSkxqSkpKSkVAj9/f39hpTIyKbHoqGhoXAIfMrLpMqkxqSkxqTGpKRUqv39/f0IlMym + yKbIpcShcAh8y6jKpMqkxsqkpKSkxlQI/f39/aqUzMzMyKbIpqJwqnzLy8qpxsqkpMakxqSkeAj9/f39 + CJSUlJSUlJSUlJQJgMupy8qpysqkyqSkxqRUqv39/f2GCKoIqgiqCKoIhgigrcvPqcuoy8qkxsqkxnyG + /f39/ar9/f39/f39/f39qnzPz6nLy8uoyqnKpKTKVAj9/f39CP39/f39/f39/f0IfNDPz8+py8upyqjG + yqR8hv39/f2G/f39/f39/f39/Qik0K7P0M+ty8vLy6jKpXyq/f39/ar9/f39/f39/f39CHzQ09Ctz8/P + qcupy6jKeAj9/f39CP39/f39/f39/f2qoNPQ0NPQ0M/Qz8vLy6l8CP39/f2G/f39/f39/f39/QmkfKR8 + oHx8fHx8fHx8fHyG/f39/aoIqgiqCKoIqgiqCKoIqgiqCKoIqgiqCKoIqgj9/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3///////////// + ///AAAAD3vgAA974AAPe+AAD3vgAA974AAPe+AADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AA + AAPAAAADwAAAA8AAAAPAAAADwAAAA9/4AAPf+AAD3/gAA9/4AAPf+AAD3/gAA8AAAAP//////////ygA + AAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAA + gACAgAAAgICAAMDcwADwyqYAqj8qAP8/KgAAXyoAVV8qAKpfKgD/XyoAAH8qAFV/KgCqfyoA/38qAACf + KgBVnyoAqp8qAP+fKgAAvyoAVb8qAKq/KgD/vyoAAN8qAFXfKgCq3yoA/98qAAD/KgBV/yoAqv8qAP// + KgAAAFUAVQBVAKoAVQD/AFUAAB9VAFUfVQCqH1UA/x9VAAA/VQBVP1UAqj9VAP8/VQAAX1UAVV9VAKpf + VQD/X1UAAH9VAFV/VQCqf1UA/39VAACfVQBVn1UAqp9VAP+fVQAAv1UAVb9VAKq/VQD/v1UAAN9VAFXf + VQCq31UA/99VAAD/VQBV/1UAqv9VAP//VQAAAH8AVQB/AKoAfwD/AH8AAB9/AFUffwCqH38A/x9/AAA/ + fwBVP38Aqj9/AP8/fwAAX38AVV9/AKpffwD/X38AAH9/AFV/fwCqf38A/39/AACffwBVn38Aqp9/AP+f + fwAAv38AVb9/AKq/fwD/v38AAN9/AFXffwCq338A/99/AAD/fwBV/38Aqv9/AP//fwAAAKoAVQCqAKoA + qgD/AKoAAB+qAFUfqgCqH6oA/x+qAAA/qgBVP6oAqj+qAP8/qgAAX6oAVV+qAKpfqgD/X6oAAH+qAFV/ + qgCqf6oA/3+qAACfqgBVn6oAqp+qAP+fqgAAv6oAVb+qAKq/qgD/v6oAAN+qAFXfqgCq36oA/9+qAAD/ + qgBV/6oAqv+qAP//qgAAANQAVQDUAKoA1AD/ANQAAB/UAFUf1ACqH9QA/x/UAAA/1ABVP9QAqj/UAP8/ + 1AAAX9QAVV/UAKpf1AD/X9QAAH/UAFV/1ACqf9QA/3/UAACf1ABVn9QAqp/UAP+f1AAAv9QAVb/UAKq/ + 1AD/v9QAAN/UAFXf1ACq39QA/9/UAAD/1ABV/9QAqv/UAP//1ABVAP8AqgD/AAAf/wBVH/8Aqh//AP8f + /wAAP/8AVT//AKo//wD/P/8AAF//AFVf/wCqX/8A/1//AAB//wBVf/8Aqn//AP9//wAAn/8AVZ//AKqf + /wD/n/8AAL//AFW//wCqv/8A/7//AADf/wBV3/8Aqt//AP/f/wBV//8Aqv//AP/MzAD/zP8A//8zAP// + ZgD//5kA///MAAB/AABVfwAAqn8AAP9/AAAAnwAAVZ8AAKqfAAD/nwAAAL8AAFW/AACqvwAA/78AAADf + AABV3wAAqt8AAP/fAABV/wAAqv8AAAAAKgBVACoAqgAqAP8AKgAAHyoAVR8qAKofKgD/HyoAAD8qAFU/ + KgDw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAAAAAAAP//AAD///8A/f39/f39/f39/f39/f39/f0I + hgiqCKoICKoICKaGCP39qv39hv2GNg4ODjII/ar9/Yb9/ar9qjdjXzsOCP2G/f0IhquGCAleCWNfNob9 + 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 + bv+3d0n/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/FRqE/0dN1v8/RNL/Nz3Q/y40zv8nLcz/ISfK/xwh + yf8WHMf/GxJh/8K/wf/gr3r/4K96/+Cvev/gr3r/3614/9yqdf/apnL/16Nw/9Sea//Rmmj/zZZk/8qR + X//GjFz/w4dW/7+CUv/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8SHZD/WF3a/05U1/9FS9X/PUPS/zU7 + 0P8uM83/JyzL/yAmyf8aFGn/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/ + wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/xAfnP9obt7/YGTc/1Zb + 2f9NU9f/RUrU/ztB0v80OdD/LDHO/xgWcv/Cv8H/Dn+n/w18pP8MeqH/DHie/wt1m/8Kc5j/CXGV/wlv + k/8JbJD/CGqN/wdpi/8HZ4j/BmWH/wZkhf8GYoP/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/DiKp/3l+ + 4/9vdeH/Zmze/11i2/9UWtn/S1HW/0NI1P86P9H/Fhh9/8K/wf8Ogar/Barp/wGo6P8Apef/AKPm/wCi + 5P8An+L/AJ7h/wCd3/8AnN7/AJnc/wCY2/8AmNn/AJbX/wZjhP/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/ + wf8MJbX/iI7n/4CF5v93fOP/bnPg/2Vr3f9bYdv/UljY/0lP1v8UGoj/wr/B/w+Erf8Lrur/Bqvq/wOo + 6f8Apuf/AKTm/wCi5f8AoOT/AJ/i/wCd4f8AnN//AJrd/wCZ2/8AmNr/BmWH/8K/wf8AAAAAAAAAAAAA + AAAAAAAAwr/B/wkowP+WnOz/jpTq/4aL6P9+hOX/dXri/2xx4P9jaN3/WV/b/xEek//Cv8H/EIaw/xay + 7P8Or+z/Cavr/wWq6v8Bp+j/AKbn/wCj5f8AoeT/AJ/j/wCe4f8AnOD/AJve/wCa3f8HZ4n/wr/B/wAA + AAAAAAAAAAAAAAAAAADCv8H/CCrK/6Ko7/+coe7/lZrr/42T6f+Fiub/fIHl/3N54v9rcN//ECGg/8K/ + wf8QiLP/I7nu/xq07f8Ssez/C63r/war6v8Cqen/AKbo/wCk5v8AouX/AKHk/wCf4f8AneH/AJzf/who + i//Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8GLNP/q7Hy/6as8P+hpu//mp/u/5OY6/+LkOj/g4nm/3qA + 5P8NI6z/wr/B/xCKtv8xvvD/J7rv/x627f8Vsuz/Dq/s/wmr6/8Equn/Aafo/wCl5/8Ao+X/AKHk/wCf + 4v8AnuH/CGqO/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wUu2/+vtPP/r7Tz/6qv8v+mq/D/oKXv/5me + 7f+Sl+v/io/p/wsmt//Cv8H/Eo24/0HF8f82wfD/LLzv/yK47v8atO3/EbHs/wut6/8Gq+r/A6np/wCm + 6P8Apeb/AKLl/wCh5P8IbJD/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/BC/h/wQv3/8FL9z/BS3Z/wYt + 1v8GLNL/ByvP/wgqy/8IKcb/CSnC/8K/wf8Sjrv/Uszy/0fH8f87w/H/Mb7v/ye67/8et+7/FbPt/w6v + 6/8IrOv/BKnp/wGo6P8Apef/AKPl/wluk//Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf/Cv8H/wr/B/8K/ + wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/xKRvf9j0/P/WM/z/0zK8f9BxfH/N8Hw/yy8 + 7/8iuO7/GbTt/xGx7P8Lruv/Bqrq/wOo6f8Apuf/CnGV/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCv8H/E5LA/3Ta8/9q1fP/XtHz/1LM + 8v9Hx/H/O8Pw/zG+7/8nu+//Hrbt/xay7f8Or+v/CKzq/wSq6f8Kc5j/wr/B/wAAAAAAAAAAAAAAAAAA + AADCv8H/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK/wf8UlMH/hOD1/3rc + 9f9v2PP/ZNTy/1jO8v9NyvH/Qsbx/zbB8P8svO//I7ju/xm07f8SsOz/C67r/wt2m//Cv8H/AAAAAAAA + AAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwr/B/xSW + w/+T5vb/iuL1/3/e9P912vT/adbz/13R8/9SzPL/R8jx/zzD8P8xvvD/J7rv/x627v8Vsuz/C3ie/8K/ + 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 +</value> + </data> +</root> \ No newline at end of file diff --git a/Form1.vb b/Form1.vb new file mode 100644 index 0000000..7736aa3 --- /dev/null +++ b/Form1.vb @@ -0,0 +1,5816 @@ +Imports System.IO +Imports System.Management +Imports System.Drawing.Drawing2D +Imports System.Drawing.imaging +Imports System.Drawing.printing +Imports System.Threading +Imports System.Globalization +Imports System.Runtime.InteropServices +Imports System.net +Imports System.Xml +Public Class Form1 + ' |==============================================================| + ' | Copyright 2013 - Trustees of Boston College | + ' | Author: Glenn Manino, Boston College Library Systems | + ' | Not for duplication or distribution. | + ' '==============================================================' + 'v. 7.0: Major release + ' Includes option to use Alma's RESTful API URL to retrieve an item's XML file, as + ' well as the deprecated Java SOAP APIs. The RESTful XML file is converted into + ' the SOAP XML format so that SpineOMatic can process the file without major + ' modification to the software. + ' + 'v. 6.12: Minor trial release + ' Allows the ! (render as bar code) formatting code to be used in custom Pocket Labels. + ' Will be distributed to one user who wanted the feature, and included in subsequent + ' releases if it is acceptable. + ' + 'v. 6.11: Minor release + ' Clarified and changed LC/LC child lit./NLM and Dewey parsing behavior: + ' Tweak and Test panel for the LC... parser: "Decimal" break description was changed to + ' "Class Decimal". Fixed a bug in "Break before decimal" that was causing a break + ' after the decimal rather than before. An option was added to allow break both before + ' or after the decimal. + ' An option was added to the Dewey parser to allow breaking on the cutter decimal + ' string after a specific number of characters following the decimal. + ' + 'v. 6.1: Minor release + ' Fixed bug in "*" format code ("Suppress field display"); + ' Added check for unbalanced quotation marks in "Quoted text" format code. + ' + 'v. 6.0: Major release features: + ' Holdings processor now lets user select no holdings, textual holdings parsed by SpineOMatic, + ' or Ex Libris' Parsed Holdings fields. If Parsed Holdings are specified but do not exist, + ' SpineOMatic will parse the textual holdings. The display will indicated which call number + ' parser was used, and also which holdings parser was used. + ' Asterisk (*) formatting code ("suppress" field display) suppresses display if the XML field + ' is blank, or if the field is equal to any of three user-defined values. + ' Tweak and Test SuDoc parser allows breaking on "Other" characters, with option + ' to remove characters. (Behavior is consistent with LC, Dewey and Other parsers.) + ' Dewey parser provides an option to print long numeric class numbers in groups of characters. + ' New print option to send label text to a custom DOS batch file ("viados.bat"), which can + ' print to legacy printers attached via LPT or COM ports, etc. + ' Margins and line spacing can be entered in inches or centimeters. + ' A decimal point or a comma can represent decimal fractions. + ' Allows negative top margin and left margin settings. + ' To insert XML field names into text boxes that allow it, items can be selected from + ' a list of all XML fields (rather than typing the names). + ' + 'v. 5.21: Minor release to handle unencoded ampersands in the item's XML record. + ' Added the tilde (~) character to stand for space characters in the Tweak and Test + ' Other Break text strings. + ' Changed the "Hide cutter decimal" routine from removing all decimals to removing only + ' the first character, if it is a decimal. + ' + 'v. 5.2: Minor release to fix a bug in the multi-label print to Desktop routine, which failed to + ' change the print button from "Stop" to "Send to Desktop Printer". + ' + 'v. 5.1: Minor release to fix the Holdings parser, which was causing spaces between elements + ' to be removed. + ' A "Break on spaces" checkbox was added to the Holdings parser's Tweak and Test panel; + ' Made improvements to the management of default settings for Spine, Custom, Custom/Flag slips + ' and Pocket Labels + ' A "copy to clipboard" feature was added to send Report text and CurrentXML/settings.som + ' text to the Windows clipboard. + ' + 'v. 5.0: Major release to add Pocket Label printing; + ' Repairs errors due to unencoded angle bracket characters appearing in the data of + ' returned XML files. + ' Does not check the arc.bc.edu:8080 server at startup, but only when Check for + ' Updates is clicked. (Due to occasional arc crashes that prevent SpineOMatic from + ' starting.) + ' Allows any call_number_type to be handled by any of SpineOMatic's parsing routines. + ' Blank <call_number_type> can be converted to any specified type (0 - 8). + ' Added option to the LC Tweak and Test panel to suppress the decimal that normally + ' precedes the cutter. + ' Added a Holdings parser to the Tweak and Test panels. + ' Call number formats (Spine, Custom & Custom w/Flag Slips and Pocket Labels) each + ' have their own separate set of margin settings and other defaults. + ' Added formatting characters "^" to suppress newline after field, "*" to + ' suppresse display of a field if it is blank or zero, and "+" to look up <location_name> + ' in the Label Prefixes table and use the label text (that allows line breaks via semicolons). + ' Increased maximum number of label copies from 5 to 99. + ' Added a "cancel print" option for Desktop printing, and added a warning for Batch + ' and FTP printing if more than 5 label copies are requested. + ' Added keyboard shortcut CTRL p to trigger a manual print without having to use + ' the mouse. + ' Added a License Agreement that requires the user to either accept terms or cancel + ' installation on first use of software, change of version, or relocation to a different PC. + ' + 'v. 4.32: Minor release to fix wrapping (if wrapping was turned on for one field, it + ' stayed on for other fields that did not specify wrapping). Added a formatting + ' code to add a text prefix to custom label fields, as well as to Spine fields + ' "Include holdings" and "Include other value". Double quotes around text cause + ' text to be prefixed to the printed value. Eg: "copy: "<copy_id> + ' Redid the fix (originally in v. 4.3) that was supposed to prevent loss of Custom + ' fields upon saving. + ' + 'v. 4.31: Minor release to fix a bug that prevented "Include holdings" from working. + ' This is the first release to use two digits after the decimal of the release number. + ' + 'v. 4.3: Fixed a bug causing multi-cuttered LC call numbers to hide the decimal when + ' breaking on cutter. Fixed bug that caused Custom fields to be lost when + ' user saved settings while Flag Slips checkbox was checked. + ' Replaced code written to parse the Ex Libris XML file with VB.NET's XML parser. + ' Also alerted user if errors were detected in + ' user-specified XML fields, i.e., not found, extraneous characters, etc. + ' Checkbox added to either display error alert only, or to pop up a detailed message. + ' Added ability for user to add formatting characters to Custom fields: + ' (%=parse call#, #=parse holdings, !=render as barcode, ~=add space) before entry. + ' Also allowed space (~) to be added before "Other" field in Spine label section. + ' Added multi-label print capability, allowing label to be printed from 1 to 5 times. + ' + 'v. 4.2: Fixed a bug to allow SpineOMatic to recognize international date settings. + ' Added Tweak and Test panel to allow user to modify the behaviors of + ' SpineOMatic's parsing routines. + ' Added a Dewey Decimal and an "Other" parser. + ' Moved the Test Parsing section from Java Setup to + ' the Tweak and Test Parsing panel. Removed the portrait/landscape distinction + ' when SpineOMatic parsed SuDoc numbers. User can now set up parsing for one or + ' the other. + ' Added better checking for Java URL problems and credential issues. + ' If the customer's PC cannot connect to BC servers due to blocking by their + ' proxy server, a message tells them to whitelist the BC servers. + ' + 'v. 4.1: Changes to wording and layout of Print Flag Slips checkbox and Label Printing + ' Web Service Credentials. + ' + 'v. 4.0: Removed need to provide a folder to receive Alma XML file. The installation + ' directory will be used by default; + ' Imported graphic background for the About box that contains the BC seal graphic; + ' Java app class file and alma-sdk files are now automatically downloaded if needed, + ' without manual intervention; + ' Added separate margin/orientation/maximum settings for Flag Slips. Toggling the + ' "print flag slips" checkbox calls up Flag Slip settings or returns to standard settings; + ' The Java application is now run as a process from within vb rather than as an + ' external .bat file. Java installation is verified, and problems locating or + ' accessing java are reported to the user. + ' A list of servers can be specified from which to obtain updates (i.e., the updatePath. + ' If the default server fails, each server in the list is tried in turn to try to find + ' a working server. If none can be found, a "fail" message is displayed. + '======================================================================================= + 'v. 3.3: Added SuDoc parsing for portrait and landscape modes; Changes to error checking + ' and AboveCall#Text behavior; + ' + 'v. 3.2: Added ability to put an additional field (e.g., <copy_id>) at end of spine label; + ' Ensured label text in OutputBox does not end with unnecessary cr/lf; + ' Fixed bug in Above Call# Text that produced incorrect matching. + ' Limited User ID to 8 alpha characters. + ' + 'v. 3.1: Added Station name and User ID; Reports; Test Parsing; better LC/LC Children's lit/NLM + ' call number parsing. + ' + 'v. 3.0: Cosmetic changes to admin panels; added "About" box with download/view + ' of associated documentation. Added access to Alma Label Printing Web Service + ' via desktop java app; Added option to use Ex Libris parsed call numbers. + '======================================================================================= + 'v. 2.6: for "Custom" labels, text not enclosed in angle brackets (<...>) will print as-is on the label + ' Bug fix: manual print button now checks line lengths against max. chars/line; + 'v. 2.5: adds textbox for url to Alma Label Printing Web Service + 'v. 2.4: adds barcode font dialog selection for use in flag slips; + 'v. 2.3: dlgSettings.UseEXDialog = True to enable print dialog selection in Windows 7 + 'v. 2.2: corrects spacing & punctuation errors in incoming call numbers (for TML); + 'v. ...: + Dim somVersion As String = "7.0" + Dim javaClassName As String = "almalabelu2" 'the java class name + Dim javaSDKName As String = "alma-sdk.1.0.jar" 'the Ex Libris SDK for web services + Dim javaTest As String = "javatest" 'java class that reports presence and version of java + Dim mypath As String = "" 'path of startup directory will be used as mypath + Dim servers As String = "arc.bc.edu:8080|libstaff.bc.edu:8080|mlib.bc.edu:8080" + Dim lcxml As String = "" + Dim issuexml As String = "" + Dim locxml As String = "" + Dim libxml As String = "" + Dim otherxml As String = "" + Dim titlexml As String = "" + Dim libraryxml As String = "" + Dim pixelsPerInchX As Integer = 0 + Dim pixelsPerInchY As Integer = 0 + Dim changeCount As Integer = 0 + Dim xmlReturned As String = "" + Dim settings As String = "" + Dim winFrom As Integer = 0 + Dim winTo As Integer = 0 + Dim wline As Array = Nothing + Dim wlinesToPrint As Integer = 0 + Dim origText As String = "" + Dim editText As String = "" + Dim maxLines As Integer = 0 + Dim LABELS As Array + Dim nxt As Integer = 0 + Dim horizPos As Integer = 0 + Dim fontname As String = "" + Dim fontsize As Single = 0.0 + Dim fWeight As System.Drawing.FontStyle + Dim bcWeight As System.Drawing.FontStyle + Dim topMargin As Single = 0.0 + Dim leftMargin As Single = 0.0 + Dim lineSpacing As Single = 0.0 + Dim labelRows As Integer + Dim labelCols As Integer + Dim labelWidth As Single + Dim labelHeight As Single + Dim gapWidth As Single + Dim gapHeight As Single + Dim original_settings As String = "" + Dim closing_settings As String = "" + Dim saveTab As TabPage + Dim lastxml As String = "" + Dim ignoreChange As Boolean = True + Dim ALTfile As String = "" + Dim madeALTchanges As Boolean = False + Dim statrec As String + Dim lastbc As String = "" + Dim cntype As String + Dim almaReturnCode As String = "" + Dim almaLibrary As String = "" + Dim almaLocation As String = "" + Dim usermessage As String = "" + Dim settingsfound As Boolean = True + Dim settingsLoaded As Boolean = False + Dim settingsOpen As Boolean = False + Dim logView As Boolean = False + Dim flagSlipDefaults As String = "" + Dim firstPage As Boolean = True + Dim otherList As String = "" + Dim xmlerr As String = "" + Dim indenting As Boolean = False + Dim wrapping As Boolean = False + Dim totalLines As Integer = 0 + Dim labelCount As Integer = 0 + Dim needTypeCheck As Boolean = False 'alerts if call number parsers have been changed + Dim xdoc As New System.Xml.XmlDocument + Dim warranty_accepted As Boolean = True + Dim spin As Integer = 1 + Dim stopPrinting As Boolean = False + Dim spineDefaultLoaded As Boolean = False + Dim customNonFlagDefaultLoaded As Boolean = False + Dim customFlagDefaultLoaded As Boolean = False + Dim pocketDefaultLoaded As Boolean = False + Dim WithEvents client As New WebClient + Dim licenseDeclined As Boolean = True + Dim pcname As String = "" + Dim spineVerticalLine As Boolean + Dim nonFlagVerticalLine As Boolean + Dim flagVerticalLine As Boolean + Dim pocketVerticalLine As Boolean + Dim usingDewey As Boolean = False + Dim xtb As TextBox + Dim xtbOrigColor As Color + Private Const LB_SETTABSTOPS As Int32 = &HCB + + + <DllImport("user32.dll")> _ + Private Shared Function SendMessage( _ + ByVal hWnd As IntPtr, _ + ByVal wMsg As Int32, _ + ByVal wParam As IntPtr, _ + ByVal lParam As IntPtr) _ + As Int32 + 'DLL import is used to set margins in the Reports ("StatsOut") textbox + End Function + Private Sub SetTabs() + '{0, 65, 110, 165, 240, 255} (original settings) + Dim ListBoxTabs() As Integer = {0, 60, 110, 180, 240, 255} + Dim result As Integer + Dim ptr As IntPtr + Dim pinnedArray As GCHandle + + pinnedArray = GCHandle.Alloc(ListBoxTabs, GCHandleType.Pinned) + ptr = pinnedArray.AddrOfPinnedObject() + 'Send LB_SETTABSTOPS message to TextBox. + result = SendMessage(Me.statsOut.Handle, LB_SETTABSTOPS, _ + New IntPtr(ListBoxTabs.Length), ptr) + pinnedArray.Free() + + 'Refresh the TextBox control. + Me.statsOut.Refresh() + End Sub + + Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing + If licenseDeclined Then Exit Sub + Dim resp As String = "" + writeStat("S") 'write "S" (scanned, not printed) to statrec, and write to stat file. + If madeALTchanges = True Then + Dim box = MessageBox.Show("Changes to your local label text file have not been saved." & vbCrLf & "Do you want to save them now?", "Save Settings", MessageBoxButtons.YesNo, MessageBoxIcon.Question) + If box = box.Yes Then + btn_saveALT.PerformClick() + MsgBox("Changes to your local label text file have been saved.", MsgBoxStyle.Information, "Settings Saved") + madeALTchanges = False + End If + End If + saveSettings("tostring") 'put current settings into the closing_settings string + closing_settings = closing_settings.Replace(vbLf, "") + original_settings = original_settings.Replace(vbLf, "") + If original_settings <> closing_settings Then + 'Clipboard.SetText("orig:" & vbCrLf & original_settings & vbCrLf & "new:" & vbCrLf & closing_settings) + Dim box = MessageBox.Show("Your settings have changed, but have not been saved." & vbCrLf & _ + "Do you want to save them now?" & vbCrLf & vbCrLf & _ + "(Click CANCEL to continue working.)", "Save Settings", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) + If box = box.Yes Then + saveSettings("todisk") + MsgBox("Your settings have been saved.", MsgBoxStyle.Information, "Settings Saved") + Else + If box = box.cancel Then + e.Cancel = True + End If + End If + End If + End Sub + + Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress + If Asc(e.KeyChar) = 1 Then 'keychar 1 = "CTRL a" + e.Handled = True + If settingsOpen = False Then + openSettings() + Else + 'Me.CloseSettings_Click(Nothing, Nothing) + CloseSettings() + End If + End If + If Asc(e.KeyChar) = 16 Then 'CTRL p + e.Handled = True + ManualPrint.PerformClick() + End If + + End Sub + Private Sub NumericKeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles inMaxLines.KeyPress, inLineSpacing.KeyPress, TextBox23.KeyPress, TextBox22.KeyPress, TextBox21.KeyPress, TextBox20.KeyPress, TextBox19.KeyPress, inMaxChars.KeyPress, inLabelWidth.KeyPress, inLabelRows.KeyPress, inLabelHeight.KeyPress, inLabelCols.KeyPress, inGapWidth.KeyPress, inGapHeight.KeyPress, inFontSize.KeyPress, inBCFontSize.KeyPress, inStartCol.KeyPress, inStartRow.KeyPress, wrapWidth.KeyPress, plMin4.KeyPress, plMin3.KeyPress, plMin2.KeyPress, plMin1.KeyPress, plMax4.KeyPress, plMax3.KeyPress, plMax2.KeyPress, plMax1.KeyPress, plDistance.KeyPress, plLeftMargin.KeyPress, convertBlankTo.KeyPress, dosBlankLines.KeyPress, dosPlTabNum.KeyPress, dosPlColNum.KeyPress, appendAscii.KeyPress 'Handles TextBox.KeyPress + Dim tb As TextBox = sender + Dim dc As String = "" + If decimalDOT.Checked Then dc = "." Else dc = "," + If Not (Char.IsDigit(e.KeyChar) Or Char.IsControl(e.KeyChar) Or (e.KeyChar = dc And tb.Text.IndexOf(dc) < 0)) Then + e.Handled = True + Beep() + Exit Sub + End If + End Sub + Private Sub NegativeKeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles inTopMargin.KeyPress, inLeftMargin.KeyPress + Dim tb As TextBox = sender + Dim dc As String = "" + If decimalDOT.Checked Then dc = "." Else dc = "," + If Not (Char.IsDigit(e.KeyChar) Or Char.IsControl(e.KeyChar) Or (e.KeyChar = dc And tb.Text.IndexOf(dc) < 0) Or e.KeyChar = "-") Then + e.Handled = True + Beep() + End If + End Sub + + Private Sub NumericLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles inMaxLines.Leave, inTopMargin.Leave, inLineSpacing.Leave, inLeftMargin.Leave, TextBox23.Leave, TextBox22.Leave, TextBox21.Leave, TextBox20.Leave, TextBox19.Leave, inMaxChars.Leave, inLabelWidth.Leave, inLabelRows.Leave, inLabelHeight.Leave, inLabelCols.Leave, inGapWidth.Leave, inGapHeight.Leave, inFontSize.Leave, inBCFontSize.Leave, inStartCol.Leave, inStartRow.Leave, wrapWidth.Leave, plMin4.Leave, plMin3.Leave, plMin2.Leave, plMin1.Leave, plMax4.Leave, plMax3.Leave, plMax2.Leave, plMax1.Leave, plDistance.Leave, plLeftMargin.Leave, convertBlankTo.Leave, dosBlankLines.Leave, dosPlTabNum.Leave, dosPlColNum.Leave, appendAscii.Leave, deweydigitsperline.Leave, deweyDigitsToBreak.Leave 'Handles TextBox.KeyPress + Dim tb As TextBox = sender + If tb.Text.Length = 0 Then + tb.Text = "0" + End If + End Sub + Private Sub limitValues(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles deweydigitsperline.KeyPress, deweyDigitsToBreak.KeyPress + Dim tb As TextBox = sender + + If Not "234567".Contains(e.KeyChar) Then + e.Handled = True + Beep() + Else + 'deweydigitsperline.Text = e.KeyChar + sender.Text = e.KeyChar + e.Handled = True + End If + + End Sub + Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + settingsfound = True + Dim disclaimerInfo As String = "" + Dim currentLicense As String = "" + pcname = System.Net.Dns.GetHostName() + Me.KeyPreview = True + Me.Show() + mypath = System.AppDomain.CurrentDomain.BaseDirectory() + Me.Text = "SpineOMatic " & somVersion + CloseSettings() 'close the settings panels + Application.DoEvents() + currentLicense = getLicense() + 'MsgBox(currentLicense & vbCrLf & "-------" & vbCrLf & bcyaInfo()) + If currentLicense.Contains(pcname) And currentLicense.Contains("v." & somVersion) Then + continueFormLoad() + Else + openSettings() 'open the settings panels + licensePanel.Size = New Size(756, 410) 'make license panel the same size as the form + licenseHeadline.Text = "SpineOMatic v." & somVersion & " License Agreement" + licensePanel.Visible = True + End If + End Sub + Private Function getLicense() As String + Dim currentLicense As String = "" + Dim sr As StreamReader + Try + sr = New StreamReader(mypath & "bcya.txt") + currentLicense = sr.ReadToEnd() + sr.Close() + Catch ex As Exception + currentLicense = "" + End Try + Return currentLicense + End Function + Private Sub acceptAgreement_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles acceptAgreement.Click + licenseDeclined = False + Dim client As New WebClient + Dim result As String = "" + Dim licenseMessage As String = "" + Dim urladdr As String + licenseMessage = "licenseAccepted:" & pcname & "--" & Date.Now & "_v" & somVersion & ".lic" + licenseMessage = licenseMessage.Replace(" ", "_") + urladdr = "http://arc.bc.edu:8080/Getfile/get?file=" & licenseMessage + Dim uriaddr As New Uri(urladdr) + ' Try + Me.client.DownloadStringAsync(uriaddr) + 'Catch ex As Exception + licensePanel.Visible = False + continueFormLoad() + 'End Try + End Sub + + Private Sub client_DownloadStringCompleted(ByVal sender As Object, ByVal e As System.Net.DownloadStringCompletedEventArgs) Handles client.DownloadStringCompleted + Try + If e.Result = "OK" Then + writeLicenseFile() + End If + Catch ex As Exception + 'do nothing + End Try + + End Sub + + Private Sub writeLicenseFile() + Dim disclaimerInfo As String = "" + Dim license As String = mypath & "bcya.txt" + disclaimerInfo = vbCrLf & bcyaInfo() + disclaimerInfo = disclaimerInfo & vbCrLf & ipconfig() + Dim pcname = System.Net.Dns.GetHostName() + + Try + If File.Exists(license) Then + File.Delete(license) + End If + + Application.DoEvents() + writeFile(license, "SpineOMatic v." & somVersion & " license agreement accepted on " & Date.Now & disclaimerInfo, False) + File.SetAttributes(license, File.GetAttributes(license) Or FileAttributes.Hidden) + warranty_accepted = True + licensePanel.Visible = False + CloseSettings() + + 'continueFormLoad() + Catch ex As Exception + MsgBox("Error writing license agreement file: " & ex.Message) + End Try + End Sub + + Private Sub cancelAgreement_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cancelAgreement.Click + warranty_accepted = False 'to prevent download of java components & myLabelText.txt file + licenseDeclined = True 'to prevent default settings from being saved upon form close + Application.Exit() + End Sub + + Private Sub continueFormLoad() + licenseDeclined = False + GetSettingsFile() + 'CloseSettings() Let the "GetSettingsFile" routine determine if settings exist or not. + 'If no settings file exists, panels should remain open + Application.DoEvents() + settingsLoaded = True + original_settings = RichTextBox1.Text + XMLPath.Text = mypath 'path is now always set to the installation directory, "mypath" + Try + FileSystemWatcher1.Path = XMLPath.Text + FileSystemWatcher2.Path = XMLPath.Text + + Catch + MsgBox("Directory to watch for incoming XML files is not valid." & vbCrLf & _ + "Path = " & XMLPath.Text, MsgBoxStyle.Exclamation, "Invalid Path") + FileSystemWatcher1.Path = "" + End Try + + batchPreview.Text = GetBatch(batchNumber.Value) + If batchPreview.Lines.Length > 0 Then + 'batchEntries.Text = batchPreview.Lines.Length - 1 + batchEntries.Text = countBatch() + Else + batchEntries.Text = "0" + End If + btnMonitor.Enabled = False + + createBatFiles() + + downloadAboveLcFile() + Application.DoEvents() + loadLabelText() + lblStation.Text = station.Text + usermessage = "Please enter your User ID in the 'User:' box above." & vbCrLf & vbCrLf & _ + "The ID must be 8 characters or less." & vbCrLf & vbCrLf & _ + "When done, press the ENTER key." + If chkRequireUser.Checked Then + usrname.Enabled = True + OutputBox.Text = usermessage + usrname.BackColor = Color.Yellow + usrname.Focus() + Else + usrname.Text = "[none]" + usrname.Enabled = False + InputBox.Select() + InputBox.Focus() + End If + + Dim date1 As Date = Date.Now + Dim dtNow As Date = Date.Now + Dim dtFirstOfMonth As Date = dtNow.AddDays(-dtNow.Day + 1) + fromScan.Format = DateTimePickerFormat.Short + fromScan.CustomFormat = "MM/dd/yyyy" + toScan.Format = DateTimePickerFormat.Short + toScan.CustomFormat = "MM/dd/yyyy" + 'toScan.Value = DateTime.Now.ToString("MM/dd/yyyy", CultureInfo.CurrentCulture) + 'toScan.Value = date1.Month & "/" & date1.Day & "/" & date1.Year + fromScan.Value = dtFirstOfMonth + + toScan.Value = date1.Date.ToString + SetTabs() 'change tab settings of the Reports textbox. + + 'set default update path + 'If pingServer("arc.bc.edu") Then + ' setPath() + ' CheckForUpdates.Enabled = True + 'Else + ' CheckForUpdates.Enabled = False + ' MsgBox("Can't connect to the SpineOMatic server for updates and downloads." & vbCrLf & _ + ' "This is likely a temporary network problem at Boston College." & vbCrLf & vbCrLf & _ + ' "Normal labeling operations should not be affected." & vbCrLf & vbCrLf & _ + ' "Each time you start SpineOMatic it will check the server status." & vbCrLf & _ + ' "When the server is back online, update functionality will be restored.", MsgBoxStyle.Exclamation, "Server Unavailable.") + 'End If + ' + If UseJavaApp.Checked = True Then 'This routine can only run after all settings are loaded + DownloadJavaComponents() 'so that the "updatePath.text" exists (which is + End If 'used by the webdownload process) + TabControl1.SelectedIndex = 1 + TabControl1.SelectedIndex = 0 + lbl_setclipboard.ForeColor = Color.MediumBlue + InputBox.Focus() + End Sub + + Private Sub setPath() + 'attempts to download a "version.txt" file from the server specified in updatePath.text. + 'If the attempt fails, it tries each server in the "servers" variable. + 'If one succeeds, it becomes the new updatePath.text. + 'If none work, a message is sent to the user. + Dim webClient As New WebClient() + Dim txt As String = "" + Dim trypath = updatePath.Text + + Dim svr As Array = Split(servers, "|") + Dim svrtext As String = servers.Replace("|", vbCrLf) + Dim i As Integer = -1 + Do + Try + txt = webClient.DownloadString(updatePath.Text & "version.txt") + Exit Do + Catch ex As Exception + i = i + 1 + If i <= 2 Then + updatePath.Text = "http://" & svr(i) & "/Getfile/get?file=" + Else + If ex.Message.Contains("407") Then + MsgBox("Your local proxy server is blocking access to the SpineOMatic" & vbCrLf & _ + "servers. Ask your IT Networking office to allow access to ('whitelist')" & vbCrLf & _ + "the following server(s):" & vbCrLf & vbCrLf & svrtext, MsgBoxStyle.Exclamation, "Proxy Server Block") + + Else + MsgBox("Can't connect to SpineOMatic servers for updates and downloads." & vbCrLf & _ + "This may be a temporary problem at Boston College." & vbCrLf & _ + "SpineOMatic may still work normally if this is the case.", MsgBoxStyle.Exclamation, "Web Update Error") + End If + Exit Do + End If + End Try + Loop While True + End Sub + + Private Sub DownloadJavaComponents() + + 'Checks intallation directory to see if specified ava class and the Alma Web Service + 'class are already present. If not, each is downloaded, as required. + If Not File.Exists(mypath & javaClassName & ".class") Then + webDownload(javaClassName & ".class", "file", updatePath.Text, mypath) + End If + If Not File.Exists(mypath & javaSDKName) Then + webDownload(javaSDKName, "file", updatePath.Text, mypath) + End If + If Not File.Exists(mypath & javaTest & ".class") Then + webDownload(javaTest & ".class", "file", updatePath.Text, mypath) + End If + + End Sub + Private Function countBatch() As String + Dim ln As Integer = -1 + Dim pos As Integer = 1 + Do + pos = InStr(pos + 1, batchPreview.Text, "===============", CompareMethod.Text) + ln = ln + 1 + Loop While pos <> 0 + Return CType(ln + 1, String) + End Function + Private Sub FileSystemWatcher1_Created(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Created + 'Watches a selected directory for the arrival of an Ex Libris' Alma item XML file + 'and generates a spine label when one arrives. + ' + 'If the file is being written into the directory by another application (i.e., a + 'Java program that retrieves the Alma file and writes in into the specified + 'directory), the FileSystemWatcher may fire before the file is completely written. + 'This routine waits until the file can be successfully read. It tries up to 20 + 'times, waiting 100ms between tries. + Dim fileFound As Boolean = False + Dim loopcnt As Integer + loopcnt = 20 + + Do While loopcnt > 0 + Try + Dim tr As TextReader = New StreamReader(e.FullPath) + xmlReturned = tr.ReadToEnd() + tr.Close() + fileFound = True + Exit Do + Catch ex As Exception + loopcnt = loopcnt - 1 + Thread.Sleep(100) + End Try + Loop + + If fileFound Then + InputBox.Text = e.Name.Replace(".xml", "") + lastxml = e.FullPath + + 'If xmlReturned.Contains("<bib_data link") Then + ' xmlReturned = convertRESTfulXML() + 'End If + + getBarcodeFile() + If AutoPrintBox.Checked Then + ManualPrint.PerformClick() + End If + Else + MsgBox("The complete Alma XML file did not arrive: " & e.FullPath, MsgBoxStyle.Exclamation, "File Incomplete") + End If + End Sub + + Private Function convertRESTfulXML() As String + 'Converts RESTful XML files into depricated SOAP format so that existing SpineOMatic code can + 'be used with the new XML format. + Dim doc As New XmlDocument + Dim t As String = "" + Dim cn As String = "" + Dim ct As String = "" + Dim n As String = "" + Dim titl As String = "" + Dim cntype As String = "" + Dim e As Integer + Dim mynode As XmlNode + Dim anode As XmlNode + Dim nl As XmlNodeList + Dim pcn As String = "" 'parsed call number + Dim pild As String = "" 'parsed issue level description + Dim i As Integer = 0 + + 'The RESTful XML text is loaded into an XML document + doc.LoadXml(xmlReturned) + Dim elemList As XmlNodeList = doc.GetElementsByTagName("item_data") 'most user fields are under + '<item_data>...</item_data> + + 'Put all RESTful <item_data> fields into string "t" + For e = 0 To elemList.Count - 1 + t = elemList(e).InnerXml & vbCrLf + Next e + + 'RESTful parsed_call_number and parsed_issue_level_description fields need to be modified + 'in the final text. Here is where we remove these fields from the text string "t": + If t.Contains("<parsed_call_number") Then + t = t.Substring(0, t.IndexOf("<parsed_call_number>")) & t.Substring(t.IndexOf("</parsed_call_number>") + 21) + End If + If t.Contains("<parsed_issue_level_description>") Then + t = t.Substring(0, t.IndexOf("<parsed_issue_level_description>")) & t.Substring(t.IndexOf("</parsed_issue_level_description>") + 32) + End If + + 'These routines step through each element of the <parsed_call_number> and <parsed_issue_level_desctiption> + 'fields in the XML document, and a sequence number is added to the XML field names. + 'Ex: <call_no>BX</call_no> is changed to <call_no_1>BX</call_no_1>, etc... + i = 1 + pcn = "" + For Each mynode In doc.SelectNodes("/item/item_data/parsed_call_number/*") + If IsNothing(mynode) Then Exit For + pcn = pcn & "<call_no_" & i & ">" & mynode.InnerXml & "</call_no_" & i & ">" & vbCrLf + i = i + 1 + Next + pcn = "<parsed_call_number>" & vbCrLf & pcn & vbCrLf & "</parsed_call_number>" + + i = 1 + pild = "" + For Each mynode In doc.SelectNodes("/item/item_data/parsed_issue_level_description/*") + If IsNothing(mynode) Then Exit For + pild = pild & "<issue_level_description_" & i & ">" & mynode.InnerXml & "</issue_level_description_" & i & ">" & vbCrLf + i = i + 1 + Next + pild = "<parsed_issue_level_description>" & vbCrLf & pild & vbCrLf & "</parsed_issue_level_description>" + 'the new fields are stored in variables 'pcn' (parsed call number) and 'pild' (parsed issue level description) + 'fields, and these modified fields are added back to string "t" later in the process. + + '<call_number> is not in the <item_data> section, so it's put in variable 'cn' and added to string 't' later + nl = doc.GetElementsByTagName("call_number") + cn = nl(0).OuterXml + + '<call_number_type> is not in <item_data> either, so it is extracted in 'ct', and later added to string 't' + nl = doc.GetElementsByTagName("call_number_type") + ct = "<call_number_type>" & nl(0).InnerXml & "</call_number_type>" + + '<title> is not in <item_data>, so it is extracted to 'nl' and added back to string 't' later. + nl = doc.GetElementsByTagName("title") + titl = nl(0).OuterXml + + '<library desc="O'Neill">ONL</library>' is changed into two fields: + '1) <library_code>ONL</library_code> + '2) <library_name>O'Neill</library_name> + 'liname and licode are added to string 't' + Dim lid As XmlNodeList = doc.GetElementsByTagName("library") + Dim licode As String = "<library_code>" & lid(0).InnerXml & "</library_code>" + anode = doc.SelectSingleNode("//library") + Dim liname As String = "<library_name>" & anode.Attributes(0).Value & "</library_name>" + + '<location desc="Offsite Collection (RM150 GOVD)">RM150_GOVD</location> is changed into: + '1) <location_name>Offsite Collection (RM150 GOVD)</location_name> + '2) <location_code>RM150_GOVD</location_code> + 'lod and locode are added to string 't' + Dim lod As XmlNodeList = doc.GetElementsByTagName("location") + Dim locode As String = "<location_code>" & lod(0).InnerXml & "</location_code>" + anode = doc.SelectSingleNode("//location") + Dim loname As String = "<location_name>" & anode.Attributes(0).Value & "</location_name>" + + 'all the new XML elements that were relocated or created are added back to string 't', and + 'string 't' is inserted into an 'XmlShell' invisible text box, replacing the text "**XMLBODY**" + 'that identifies the spot where the new XML is to be interted. + xmlReturned = xmlShell.Text.Replace("**XMLBODY**", cn & vbCrLf & ct & vbCrLf & titl & vbCrLf & licode & vbCrLf & liname & vbCrLf & loname & locode & vbCrLf & pcn & vbCrLf & pild & vbCrLf & t) + + 'the new RESTful "<description>" field names are changed to <issue_level_description>, to + 'mimic the SOAP naming convention + xmlReturned = xmlReturned.Replace("<description>", "<issue_level_description>") + xmlReturned = xmlReturned.Replace("</description>", "</issue_level_description>") + + Return xmlReturned + End Function + + Private Sub ManualPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ManualPrint.Click + 'manual print + If ManualPrint.Text = "Stop Printing" Then + stopPrinting = True + SetPrintButtonText() + Exit Sub + End If + Dim dayTime As String = "" + Dim logentry As String = "" + Dim barcodenum As String = "" + Dim lencheck As Integer = 0 + Dim chkline As Array = Nothing + Dim maxlines As Integer = CType(inMaxLines.Text, Integer) + Dim linesOK As Boolean = True + Dim maxchars As Integer = CType(inMaxChars.Text, Integer) + Dim repeat As Integer = 0 + Dim i As Integer = 0 + Dim batchText As String = "" + Dim labelin As String + plDistance.BackColor = Color.White + If chkUsePocketLabels.Checked Then + If btnSL4.Checked Or btnSL6.Checked Or (btnPlCustom.Checked And PLcount.Value = 2) Then + If CType(plDistance.Text, Single) = 0.0 Then + plDistance.BackColor = Color.Pink + MsgBox("When printing two pocket labels, you must specify a vertical distance" & vbCrLf & _ + "between the top lines of the two labels.", MsgBoxStyle.Exclamation, "No Distance Specified") + plDistance.Focus() + Exit Sub + End If + End If + End If + + If Trim(OutputBox.Text) = "" Then + Beep() + InputBox.Focus() + Exit Sub + End If + editText = OutputBox.Text + barcodenum = InputBox.Text + If (editText <> origText) And barcodenum <> "" And logEdits.Checked Then + dayTime = DateTime.Now.ToString("ddd MMM d, yyyy HH:mm", CultureInfo.InvariantCulture) + logentry = dayTime & vbTab & barcodenum & vbTab & origText.Replace(vbCrLf, "|") & vbTab & editText.Replace(vbCrLf, "|") + writeFile(mypath & "changelog.txt", logentry, True) + editText = "" + origText = "" + End If + + If OutputBox.Text.Contains("** ERROR **") Then + Beep() + MsgBox("Could not find this barcode number in Alma.", MsgBoxStyle.Exclamation, "Barcode Number Error") + Exit Sub + End If + If OutputBox.Text.Contains("Java: **") Then + Beep() + MsgBox("Could not contact Alma.", MsgBoxStyle.Exclamation, "Connection Error") + End If + lencheck = checkLineLength() + chkline = Split(OutputBox.Text, vbCrLf) + If lencheck <> 99 Then + 'chkline = Split(OutputBox.Text, vbCrLf) + MsgBox("Line #" & lencheck & ":" & vbCrLf & chkline(lencheck - 1) & _ + vbCrLf & " contains more than " & maxchars & " characters.") + Exit Sub + End If + If chkline.Length > maxlines Then + Beep() + MsgBox("Lable contains more than " & maxlines & " lines.", MsgBoxStyle.Exclamation, "Too Many Lines") + Exit Sub + End If + If lblXMLWarn.Visible = True Then + Beep() + MsgBox("An XML <field> used in your settings is incorrect.", MsgBoxStyle.Exclamation, "XML Reference Error") + Exit Sub + End If + + '******************** + ' Use DOS Batch File + '******************** + If useDOSBatch.Checked Then + Dim txtout As String = "" + Dim extraLines As Integer = CType(dosBlankLines.Text, Integer) + Dim addcr As String = "" + Dim tabpos As Integer = 0 + Dim k As Integer = 0 + Dim extraSpaces As Integer = CType(dosPlColNum.Text, Integer) + Dim tabcount As Integer = CType(dosPlTabNum.Text, Integer) + Dim addsp As String = "" + Dim taray As Array + Dim mg As String = "" + + If chkUsePocketLabels.Checked Then + taray = packagePocket().Split(vbCrLf) + txtout = "" + For k = 0 To taray.Length - 1 + tabpos = taray(k).replace(vbLf, "").IndexOf(vbTab) + If dosPlUseCol.Checked Then + addsp = New String(" ", extraSpaces - tabpos) + txtout = txtout & taray(k).Replace(vbTab, addsp) & vbCrLf + Else + If tabcount > 1 Then + addsp = New String(vbTab, tabcount) + Else + addsp = vbTab + End If + txtout = txtout & taray(k).replace(vbTab, addsp) & vbCrLf + End If + Next + txtout = txtout & terminator(taray.Length) + Else + txtout = txtout & OutputBox.Text & terminator(OutputBox.Lines.Length) + End If + + viaDOS(txtout) + Exit Sub + End If + + If UseDesktop.Checked Then + getPrintParams() + PrintDocument2.PrinterSettings.PrinterName = inPrinterName.Text + PrintDocument2.PrintController = New System.Drawing.Printing.StandardPrintController + + If chkUsePocketLabels.Checked Then + labelin = packagePocket() + labelin = labelin.Replace(vbCrLf, "|") + Else + labelin = OutputBox.Text.Replace(vbCrLf, "|") + End If + + 'For desktop printing, only one label will be in the "LABELS" array, + 'but the print routine always uses the LABELS array to get its input, + 'for single label printing and for multi-label batch printing. + LABELS = labelin.Split(vbCrLf) + + repeat = CType(LabelRepeat.Value, Integer) + If repeat > 1 And ManualPrint.Text <> "Stop Printing" Then + ManualPrint.Text = "Stop Printing" + printProgress.Visible = True + Application.DoEvents() + End If + For i = 1 To repeat + Application.DoEvents() + If stopPrinting Then + SetPrintButtonText() + stopPrinting = False + printProgress.Visible = False + Exit For + End If + Try + printProgress.Text = "Printing " & i & " of" & repeat + Application.DoEvents() + PrintDocument2.Print() + Catch ex As Exception + MsgBox("Printer settings are not correct." & vbCrLf & _ + "Make sure a valid printer has been selected, and try again." & _ + vbCrLf & ex.ToString, MsgBoxStyle.Exclamation, "Printer Selection Error") + Exit For + End Try + Next i + '******************** + SetPrintButtonText() + '******************** + printProgress.Visible = False + nxt = 0 + writeStat("P") 'add P to end of statrec and write to statfile. + OutputBox.Text = "" + plOutput.Text = "" + TempLabelBox.Text = "" + InputBox.Text = "" + InputBox.Focus() + Else + repeat = CType(LabelRepeat.Value, Integer) + If repeat > 5 AndAlso MessageBox.Show(repeat & " labels will be printed.", "Confirm Multipl Label Request", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) = Windows.Forms.DialogResult.Cancel Then Exit Sub + If UseLaser.Checked Then 'SAVE TO BATCH + If chkUsePocketLabels.Checked Then + batchText = packagePocket() + Else + batchText = OutputBox.Text + End If + repeat = LabelRepeat.Value + For i = 1 To repeat + sendToBatch2(batchText) + Next i + writeStat("B") 'add B to end of statrec and write to statfile + OutputBox.Text = "" + plOutput.Text = "" + TempLabelBox.Text = "" + InputBox.Text = "" + InputBox.Focus() + Else + ftpPrint() + End If + End If + End Sub + Private Function terminator(ByVal actualLen As Integer) As String + Dim trm As String = "" + Dim desiredLen As Integer = CType(dosBlankLines.Text, Integer) + If desiredLen > actualLen Then + If dosAddLines.Checked Then + trm = New String("^", desiredLen - actualLen).Replace("^", vbCrLf) + Else + trm = Chr(CType(appendAscii.Text, Integer)) + End If + Else + trm = "" + End If + Return trm + End Function + Private Sub SetPrintButtonText() + ManualPrint.ForeColor = Color.Black + If UseFTP.Checked Then ManualPrint.Text = "Send to FTP Printer" + If UseLaser.Checked Then ManualPrint.Text = "Add to batch #" & batchNumber.Value.ToString + If UseDesktop.Checked Then ManualPrint.Text = "Send to desktop printer" + 'If useDOSBatch.Checked Then ManualPrint.Text = "Run viados.bat" + End Sub + + Private Function packagePocket() As String + 'combines spine label in OutputBox with pocket label in plOutput. + 'A tab character separates lines of spine text from a line of pocket label text. + Dim k As Integer = 0 + Dim sp As String = "" + Dim s As Integer = 0 + Dim p As Integer = 0 + Dim stext As String = "" + Dim ptext As String = "" + Do + If s <= OutputBox.Lines.Length - 1 Then stext = OutputBox.Lines(s) : s = s + 1 Else stext = "" + If p <= plOutput.Lines.Length - 1 Then ptext = plOutput.Lines(p) : p = p + 1 Else ptext = "" + If stext = "" And ptext = "" Then Exit Do + sp = sp & stext & vbTab & ptext & vbCrLf + k = k + 1 : If k > 20 Then Return "*** Error preparing pocket labels for printing ***" + Loop + + sp = sp.Substring(0, sp.Length - 2) 'remove final crlf + + Return sp + End Function + + Private Sub btnPrintBatch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrintBatch.Click + Dim labelsIn As String + Dim wrk As String + labelsIn = GetBatch(batchNumber.Value) + + 'modified------------------------------ + 'LABELS = labelsIn.Split(vbCrLf) + '-------------------------------------- + + wrk = labelsIn.Replace(vbCrLf & "===============" & vbCrLf, "^") + wrk = wrk.Replace(vbCrLf, "|") + wrk = wrk.Replace("^", vbCrLf) + 'MsgBox("wrk:" & wrk) + LABELS = wrk.Split(vbCrLf) + + If LABELS.Length = 0 Then + MsgBox("There are no labels in batch number " & batchNumber.Value) + Exit Sub + End If + + nxt = 0 + getPrintParams() + firstPage = True + PrintDocument2.PrinterSettings.PrinterName = inPrinterName.Text + PrintPreviewDialog1.Document = PrintDocument2 + Try + PrintPreviewDialog1.ShowDialog() + Catch + MsgBox("The specified printer: " & vbCrLf & vbCrLf & inPrinterName.Text & vbCrLf & vbCrLf & "does not exist." _ + & vbCrLf & "Please select a different printer.", MsgBoxStyle.Exclamation, "Printer not found") + End Try + + End Sub + + Private Sub getPrintParams() + Dim cf As Single = 0.0 + If unitINCH.Checked Then + cf = 100 + Else + cf = 39.3701 + End If + horizPos = 0 + fontname = inFontName.Text + fontsize = CType(inFontSize.Text, Single) + fWeight = FontStyle.Regular + If inFontWeight.Checked Then fWeight = FontStyle.Bold + maxLines = CType(inMaxLines.Text, Integer) + topMargin = CType(inTopMargin.Text, Single) * cf '100 + leftMargin = CType(inLeftMargin.Text, Single) * cf '100 + lineSpacing = CType(inLineSpacing.Text, Single) * cf '100 + If UseLaser.Checked Then 'for batch printing, set params for multi-row & multi-column sheets + labelRows = CType(inLabelRows.Text, Integer) + labelCols = CType(inLabelCols.Text, Integer) + labelWidth = CType(inLabelWidth.Text, Single) * cf '100 + labelHeight = CType(inLabelHeight.Text, Single) * cf '100 + gapWidth = CType(inGapWidth.Text, Single) * cf '100 + gapHeight = CType(inGapHeight.Text, Single) * cf '100 + Else ' for single-label desktop printing, rows & columns are always "1", with no gaps. + labelRows = 1 + labelCols = 1 + labelWidth = 0 + labelHeight = 0 + gapWidth = 0 + gapHeight = 0 + End If + End Sub + Private Sub sendToBatch(ByVal labelout As String) + 'add a spine label or book flag to the end of the selected label batch + labelout = labelout.Replace(vbCrLf, "|") + + 'labelout = vbCrLf + "----------" & vbCrLf & labelout + labelout = Mid$(labelout, 1, labelout.Length) 'remove final "|" + writeFile(mypath & "labelbatch" & batchNumber.Value & ".txt", labelout, True) + batchPreview.Text = batchPreview.Text + labelout + batchEntries.Text = batchEntries.Text + 1 + End Sub + + Private Sub sendToBatch2(ByVal labelout As String) + 'NEW METHOD + 'add a spine label or book flag to the end of the selected label batch + If CType(batchEntries.Text, Integer) > 0 Then + labelout = vbCrLf & "===============" & vbCrLf & labelout + End If + writeFile(mypath & "labelbatch" & batchNumber.Value & ".txt", labelout, True) + batchPreview.Text = batchPreview.Text + labelout + batchEntries.Text = batchEntries.Text + 1 + + End Sub + + Private Sub PrintDocument2_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument2.PrintPage + Dim x As Single = 0.0 + Dim y As Single = 0.0 + Dim ypos As Single = 0.0 + Dim z As Integer = 0 + Dim t As Integer = 0 + Dim down As Integer = 0 + Dim across As Integer = 0 + Dim i As Integer = 0 + Dim pFont = New Font(fontname, fontsize, fWeight) + If inBCFontWeight.Checked Then + bcWeight = FontStyle.Bold + Else + bcWeight = FontStyle.Regular + End If + Dim bFont = New Font(inBCFontName.Text, CType(inBCFontSize.Text, Single), bcWeight) + 'Dim testlbl As String = "QA|76.73|.J38|H674|2006" + Dim line As Array '= testlbl.Split("|") + Dim test As String = "" + Dim extraSpace As Integer = 0 + Dim bcwidth As Single = 0.0 + Dim cntrOffset As Integer = 0 + Dim nextLabel As String = "" + Dim startRow As Integer = CType(inStartRow.Text, Integer) + Dim startcol As Integer = CType(inStartCol.Text, Integer) + + Dim PlySave As Integer 'save starting point of call# label to use if a pocket label + Dim PLx As Integer + Dim PLy As Integer 'will subsequently be printed. + Dim leftPocket As Integer = 0 'left margin of pocket label + Dim plk As Integer = 0 + Dim plparams As Array + Dim theseArePocketLabels As Boolean = False + Dim cf As Single = 0.0 + If unitINCH.Checked Then + cf = 100 + Else + cf = 39.3701 + End If + If chkUsePocketLabels.Checked Then + plparams = PocketParams() 'called to get the labelCount (1 or 2) currently in effect + End If + If startRow > labelRows Then + MsgBox("Starting row number is greater than the maximum rows.", MsgBoxStyle.Exclamation, "Starting Row Number Too Large") + Exit Sub + End If + If startcol > labelCols Then + MsgBox("Starting column number is greater than the maximum columns.", MsgBoxStyle.Exclamation, "Starting Column Number Too Large") + Exit Sub + End If + ' values preceded by ! will display a barcode first, followed by the actual value on the next line + ' values preceded by ~ will have extra vertical spacing + If Not firstPage Then + startRow = 1 + startcol = 1 + End If + Do + For down = startRow To labelRows + y = topMargin + ((down - 1) * (labelHeight + gapHeight)) + + For across = startcol To labelCols + nextLabel = getNextLabel() 'gets next label from the LABELS array + If nextLabel = "done" Then Exit Do + line = nextLabel.Split("|") + + If line(0).contains(vbTab) Then 'pocket labels will always have a tab in the 1st line + theseArePocketLabels = True + plparams = PocketParams() + line = removePocket(line) 'split off the pocket label from the spine label + End If + + x = leftMargin + ((across - 1) * (labelWidth + gapWidth)) + PLx = x + ypos = y + PlySave = y 'for pocket labels, save starting y position + For z = 0 To line.Length() - 1 + test = line(z) + 'print barcode, if "!" precedes value + If Mid$(test, 1, 1) = "!" Then 'if this value should be printed as a barcode + test = Mid$(test, 2, test.Length - 1) 'remove the ! + e.Graphics.DrawString("*" & test & "*", bFont, Brushes.Black, x, ypos) + e.Graphics.DrawString("*" & test & "*", bFont, Brushes.Black, x, ypos + CType(inBCFontSize.Text, Single)) + ypos = ypos + lineSpacing + 20 'allow for extra vertical spacing + cntrOffset = 25 + End If + + If Mid$(test, 1, 1) = "~" Then 'if this value should be prededed by extra space + test = Mid$(test, 2, test.Length - 1) 'remove the ~ + extraSpace = CType(inLineSpacing.Text, Single) * cf '* 100 + End If + + ypos = ypos + extraSpace + e.Graphics.DrawString(test, pFont, Brushes.Black, x + cntrOffset, ypos) + ypos = ypos + lineSpacing + extraSpace = 0 + cntrOffset = 0 + Next z + + If UseLaser.Checked And FlagSlips.Enabled And FlagSlips.Checked And inLabelHeight.Text = "7.0" Then + 'If chk_VerticalLine.Checked Then + e.Graphics.DrawLine(Pens.Black, x + labelWidth - 10, down * 20, x + labelWidth - 10, down * labelHeight) + End If + + If theseArePocketLabels Then + Dim pltext As String = "" + Dim printbarcode As Boolean = False + PLy = PlySave 'start 1st pocket label at same top margin as the spine label + leftPocket = PLx + (CType(plLeftMargin.Text, Single) * cf) '* 100) + For i = 1 To labelCount + For plk = 0 To plOutput.Lines.Length - 1 + pltext = plOutput.Lines(plk) + If Mid$(pltext, 1, 1) = "!" Then + pltext = Mid$(pltext, 2, pltext.Length - 1) 'remove the ! + printbarcode = True + End If + e.Graphics.DrawString(pltext, pFont, Brushes.Black, leftPocket, PLy) + PLy = PLy + lineSpacing + If printbarcode Then + e.Graphics.DrawString("*" & pltext & "*", bFont, Brushes.Black, leftPocket, PLy) + e.Graphics.DrawString("*" & pltext & "*", bFont, Brushes.Black, leftPocket, PLy - 10 + CType(inBCFontSize.Text, Single)) + PLy = PLy + 30 + printbarcode = False + End If + Next plk + 'if there is a 2nd pocket label, start it at the 1st top + ' margin plus the offset specified by the user ("plDistance") + PLy = PlySave + (CType(plDistance.Text, Single) * cf) '* 100) + Next i + plOutput.Text = "" + End If + + If UseDesktop.Checked Then Exit Do + + Next across + startcol = 1 + Next down + startRow = 1 + If nxt <> LABELS.Length - 1 Then + firstPage = False + e.HasMorePages = True + Else + e.HasMorePages = False + nxt = 0 + End If + Exit Sub + + Loop While False + nxt = 0 + e.HasMorePages = False + End Sub + + Private Sub PrintDocument2_QueryPageSettings(ByVal sender As Object, ByVal e As System.Drawing.Printing.QueryPageSettingsEventArgs) Handles PrintDocument2.QueryPageSettings + Dim pres As PrinterResolution + 'Dim c As Integer = 0 + 'Dim i As Integer = 0 + 'Dim lst As String = "" + 'Dim ps As New PaperSize("Custom", 100, 300) + 'e.PageSettings.PaperSize = ps + If useLandscape.Checked Then + e.PageSettings.Landscape = True + Else + e.PageSettings.Landscape = False + End If + pres = PrintDocument2.DefaultPageSettings.PrinterResolution + 'c = e.PageSettings.PrinterSettings.PaperSizes.Count + 'For i = 0 To c - 1 + ' lst = lst & e.PageSettings.PrinterSettings.PaperSizes(i).ToString() & vbCrLf + 'Next + 'MsgBox("Paper Sizes" & vbCrLf & lst) + End Sub + + Private Function removePocket(ByVal line As Array) As Array + 'gets pocket label from batch file and separates the spine label part from the pocket label part. + Dim k As Integer = 0 + Dim s As String = "" + plOutput.Text = "" + For k = 0 To line.Length - 1 + If line(k).contains(vbTab) Then + plOutput.Text = plOutput.Text & line(k).substring(line(k).indexOf(vbTab) + 1) & vbCrLf + line(k) = line(k).substring(0, line(k).indexOf(vbTab)) + Else + plOutput.Text = plOutput.Text & line(k) + End If + Next + s = plOutput.Text + k = 0 + Try + Do While s.Substring(s.Length - 2, 2) = vbCrLf 'trim all crlfs from end of pocket label + s = s.Substring(0, s.Length - 2) + Loop + Catch ex As Exception + ' Return Split("NOTPOCKET", "|") + End Try + plOutput.Text = s + Return line + End Function + Private Function getNextLabel() As String + Dim labelWork As String + 'nxt is defined globally + If nxt > LABELS.Length - 1 Then + nxt = 0 + Return "done" + End If + + labelWork = LABELS(nxt).replace(vbLf, "") + + If Trim(labelWork) = "" Then + nxt = 0 + Return "done" + End If + + nxt = nxt + 1 + Return labelWork + + End Function + + Private Function GetBatch(ByVal bnum As Integer) As String + Dim sw As StreamWriter + Dim labelText As String = "" + Dim wrk As String + + 'If the labelBatch text file doesn't exist in executable's path, create it. + If (Not File.Exists(mypath & "labelbatch" & bnum & ".txt")) Then + sw = File.CreateText(mypath & "labelbatch" & bnum & ".txt") + sw.Close() + End If + + Dim tr As New StreamReader(mypath & "labelbatch" & bnum & ".txt") + Dim i As Integer + + Try + labelText = tr.ReadToEnd() + tr.Close() + Catch ex As Exception + MsgBox("Can't read Label batch #" & bnum & vbCrLf & _ + "Reason: " & ex.Message, MsgBoxStyle.Exclamation, "Batch File Error") + labelText = "*ERROR READING BATCH #" & bnum + End Try + If labelText.Length <> 0 Then + i = 1 + If Char.IsControl(labelText, 1) Then i = 3 + wrk = Mid$(labelText, i, labelText.Length) 'remove initial CR/LF and returned LF + If wrk.Length > 1 Then + wrk = Mid$(wrk, 1, wrk.Length - 1) + End If + If wrk.Contains("|") Then + wrk = wrk.Replace(vbCrLf, vbCrLf & "===============" & vbCrLf).Replace("|", vbCrLf) + writeFile(mypath & "labelbatch" & batchNumber.Value & ".txt", wrk, False) + Else + wrk = wrk.Replace(vbCrLf & vbCrLf & "=", vbCrLf & "=") + End If + Return wrk + End If + Return "" + End Function + + Private Sub callAlma() + + Dim webClient As New System.Net.WebClient() + Dim almaOK As Boolean = True + Dim i As Integer = 0 + Dim addToHistory As Boolean + Dim svcRequest As String = "" + Dim fixedBarcode As String = "" + Dim quot As String = """" + lblXMLWarn.Visible = False + xmlerr = "" + If InputBox.Text = "" Then + Beep() + Exit Sub + End If + + If useServlet.Checked Then + svcRequest = WebServiceURL.Text + If svcRequest.IndexOf("?") = -1 Then svcRequest = svcRequest & "?" + svcRequest = svcRequest & "barcode=" & InputBox.Text + Else + If UseRestfulApi.Checked Then + fixedBarcode = Replace(InputBox.Text, "+", "%2B") + svcRequest = apiURL.Text & apiMethod.Text.Replace("{item_barcode}", fixedBarcode) & "&apikey=" & apiKey.Text + End If + End If + + + lastbc = InputBox.Text + addToHistory = True + + If Trim(InputBox.Text) = "" Then addToHistory = False + If HistoryList.Items.Contains(InputBox.Text) Then addToHistory = False + If addToHistory Then + If HistoryList.Items.Count = 0 Then + HistoryList.Items.Add(InputBox.Text) + Else + If HistoryList.Items.Item(0) <> InputBox.Text Then + HistoryList.Items.Insert(0, InputBox.Text) + End If + End If + + If HistoryList.Items.Count = 6 Then + HistoryList.Items.RemoveAt(5) + End If + End If + + If UseJavaApp.Checked Then + callJava() 'use local java app to download .xml file into selected directory + Exit Sub + End If + + 'if XML is coming from a web call (via java servlet or RESTful call: + webClient.Encoding = System.Text.Encoding.UTF8 + + Try + + xmlReturned = webClient.DownloadString(svcRequest) + + If UseRestfulApi.Checked And dontConvert.Checked = False Then + + xmlReturned = xmlReturned.Replace("><", ">" & vbCrLf & "<") + + Dim convertedXML, e As String + convertedXML = RESTfulToSOAP(xmlReturned) + Dim pos, opn, clos As Integer + + pos = InStr(1, convertedXML, " desc=", CompareMethod.Text) + Do While pos > 0 + opn = InStrRev(convertedXML, "<", pos, CompareMethod.Text) + clos = InStr(opn, convertedXML, ">", CompareMethod.Text) + clos = InStr(clos + 1, convertedXML, ">", CompareMethod.Text) + e = Mid$(convertedXML, opn, clos - opn + 1) + convertedXML = convertedXML.Replace(e, deAttrib(e)) + pos = InStr(clos + 1, convertedXML, " desc=", CompareMethod.Text) + Loop + + convertedXML = convertedXML.Replace("call_number_type_code", "call_number_type") + convertedXML = convertedXML.Replace("<description>", "<issue_level_description>") + convertedXML = convertedXML.Replace("</description>", "</issue_level_description>") + convertedXML = convertedXML.Replace("<enumeration_", "<enum_") + convertedXML = convertedXML.Replace("</enumeration_", "</enum_") + convertedXML = convertedXML.Replace("<chronology_", "<chron_") + convertedXML = convertedXML.Replace("</chronology_", "</chron_") + + + If convertedXML.Contains("<parsed_call_number>") Then + convertedXML = enumerate(convertedXML, "<parsed_call_number>", "</parsed_call_number>", "<call_no>") + End If + + If convertedXML.Contains("<parsed_issue_level_description>") Then + convertedXML = enumerate(convertedXML, "<parsed_issue_level_description>", "</parsed_issue_level_description>", "<issue_level_description>") + End If + + If Not convertedXML.Contains("<issue_level_description>") Then + convertedXML = convertedXML.Replace("</barcode>", "</barcode>" & vbCrLf & "<issue_level_description> </issue_level_description>") + End If + + If Not convertedXML.Contains("<chron_") Then + Dim dummyChron = "</barcode>" & vbCrLf & "<chron_i> </chron_i>" & vbCrLf & _ + "<chron_j> </chron_j>" & vbCrLf & "<chron_k> </chron_k>" & vbCrLf & _ + "<chron_l> </chron_l>" & vbCrLf & "<chron_m> </chron_m>" & vbCrLf + convertedXML = convertedXML.Replace("</barcode>", dummyChron) + End If + + xmlReturned = xmlShell.Text.Replace("**XMLBODY**", convertedXML) + Else + If dontConvert.Checked = True Then + TabControl1.SelectedIndex = 3 + End If + End If + Catch ex As Exception + almaOK = False + OutputBox.Text = "***** ERROR ***** " & vbCrLf & "Can't retrieve XML file." & vbCrLf & vbCrLf & _ + "Error message: " & ex.Message + 'MsgBox("error: " & ex.Message) + End Try + If almaOK Then + getBarcodeFile() + End If + End Sub + Private Function enumerate(ByVal xml As String, ByVal xfrom As String, ByVal xto As String, ByVal breakon As String) + Dim k As Integer = 0 + Dim parseString As String = "" + Dim cline As Array + Dim enumerated As String = "" + parseString = BTween(xml, xfrom, xto) + cline = Split(parseString, breakon) + For k = 1 To cline.Length - 1 + enumerated = enumerated & (breakon & cline(k).ToString).Replace(">", "_" & k & ">") + Next + xml = xml.Replace(parseString, enumerated) + Return xml + End Function + Private Function RESTfulToSOAP(ByVal restfulXml As String) + 'convert RESTful xml file returned by Alma into SOAP format + Dim e As Integer + Dim f As Integer + Dim i As Integer + Dim t As String = "" + Dim rdoc As New XmlDocument + Dim nodes As XmlNode + Dim cnodes As XmlNode + Dim element As String = "" + Dim parts(2) As String + parts(0) = "//bib_data" + parts(1) = "//holding_data" + parts(2) = "//item_data" + + rdoc.PreserveWhitespace = True + rdoc.LoadXml(restfulXml) + + For i = 0 To parts.Length - 1 + + nodes = rdoc.SelectSingleNode(parts(i)) + + If nodes.HasChildNodes Then + + For e = 0 To nodes.ChildNodes.Count - 1 + + If nodes.ChildNodes(e).HasChildNodes Then + cnodes = nodes.ChildNodes(e) + If cnodes.ChildNodes.Count > 1 Then + t = t & "<" & cnodes.Name & ">" & vbCrLf + For f = 0 To cnodes.ChildNodes.Count - 1 + t = t & cnodes.ChildNodes(f).OuterXml & vbCrLf + Next + t = t & "</" & cnodes.Name & ">" & vbCrLf + Else + element = nodes.ChildNodes(e).OuterXml + t = t & element & vbCrLf + 'If element.Contains(" desc=") Then t = t & deAttrib(element) & vbCrLf + End If + End If + Next + End If + Next i + 'writeFile(mypath & "converted.txt", t, False) + Return t + + End Function + + Private Function deAttrib(ByVal e As String) As String + Dim element As String + Dim attrVal As String + Dim codeval As String + Dim quot As String = """" + Dim XML1 As String + Dim XML2 As String + + element = BTween(e, "<", " ") + attrVal = BTween(e, quot, quot) + codeval = BTween(e, ">", "<") + + XML1 = "<" & element & "_name>" & attrVal & "</" & element & "_name>" + XML2 = "<" & element & "_code>" & codeval & "</" & element & "_code>" + + + Return XML1 & vbCrLf & XML2 + End Function + Private Function donothing(ByVal x As String) + 'MsgBox(RESTfulToSOAP(xmlReturned)) + + 'Dim doc As New XmlDocument + 'Dim t As String = "" + 'Dim cn As String = "" 'call number + 'Dim cntp As String = "" 'call number type + 'Dim n As String = "" + 'Dim titl As String = "" + 'Dim e As Integer + 'Dim Lnode As XmlNodeList + 'Dim anode As XmlNode + + 'doc.LoadXml(xmlReturned) + 'Dim elemList As XmlNodeList = doc.GetElementsByTagName("item_data") + 'Dim c As XmlNodeList = doc.GetElementsByTagName("call_number") + 'cn = c(0).OuterXml + + 'Lnode = doc.GetElementsByTagName("call_number_type") + 'cntp = "<call_number_type>" & Lnode(0).InnerXml & "</call_number_type>" + + 'Dim ti As XmlNodeList = doc.GetElementsByTagName("title") + 'titl = ti(0).OuterXml + + 'Dim lid As XmlNodeList = doc.GetElementsByTagName("library") + 'Dim licode As String = "<library_code>" & lid(0).InnerXml & "</library_code>" + 'anode = doc.SelectSingleNode("//library") + 'Dim liname As String = "<library_name>" & anode.Attributes(0).Value & "</library_name>" + + 'Dim lod As XmlNodeList = doc.GetElementsByTagName("location") + 'Dim locode As String = "<location_code>" & lod(0).InnerXml & "</location_code>" + 'anode = doc.SelectSingleNode("//location") + 'Dim loname As String = "<location_name>" & anode.Attributes(0).Value & "</location_name>" + + 'For e = 0 To elemList.Count - 1 + ' t = elemList(e).InnerXml & vbCrLf + 'Next e + + 'xmlReturned = xmlShell.Text.Replace("**XMLBODY**", cn & vbCrLf & cntp & vbCrLf & titl & vbCrLf & licode & vbCrLf & liname & vbCrLf & loname & locode & vbCrLf & t) + 'xmlReturned = xmlReturned.Replace("<description>", "<issue_level_description>") + 'xmlReturned = xmlReturned.Replace("</description>", "</issue_level_description>") + 'xmlReturned = xmlReturned.Replace("enumeration_", "enum_") + Return x + End Function + Private Sub callJava() + Dim resp As String + Dim i As Integer = 0 + Dim aurl As String = "" + Dim ausr As String = "" + Dim apwd As String = "" + Dim ains As String = "" + Dim abcd As String = "" + Dim aout As String = "" + Const quote As String = """" + aurl = inAlmaUrl.Text + ausr = inAlmaUsername.Text + apwd = inAlmaPassword.Text + ains = inAlmaInstCode.Text + abcd = InputBox.Text + aout = XMLPath.Text.Replace("\", "/") + If aout.Substring(aout.Length - 1) <> "/" Then + aout = aout & "/" + End If + 'if the path contains spaces, put quotes around path + If aout.Contains(" ") Then aout = quote & aout & quote + + Dim JavaBatchFilePath As String = "" + + resp = startJava(aurl, ausr, apwd, ains, abcd, aout) + If resp <> "" Then MsgBox(resp, MsgBoxStyle.Exclamation, "Java Application Error") + Exit Sub + End Sub + + Private Function startJava(ByVal aurl, ByVal ausr, ByVal apwd, ByVal ains, ByVal abcd, ByVal aout) As String + Dim ermsg As String = "" + Dim params As String = aurl & " " & ausr & " " & apwd & " " & ains & " " & abcd & " " & aout + + Try + Dim procStartInfo As New System.Diagnostics.ProcessStartInfo("java", "-cp .;" & javaSDKName & " " & javaClassName & " " & params) + + procStartInfo.RedirectStandardOutput = True + procStartInfo.RedirectStandardError = True + procStartInfo.UseShellExecute = False + procStartInfo.CreateNoWindow = True + Dim proc As System.Diagnostics.Process = New Process() + proc.StartInfo = procStartInfo + proc.Start() + ermsg = proc.StandardError.ReadToEnd() + If ermsg <> "" Then + If ermsg.Contains("find or load") Then + Return "The Java application (" & javaClassName & ") was not found in " & vbCrLf & _ + "the SpineOMatic installation directory." + Else + Return "An error occurred while trying to run the Java application (" & javaClassName & ")." & vbCrLf & _ + "Check the Alma Access credentials to make sure all values are entered correctly." & vbCrLf & vbCrLf & _ + "Error: " & ermsg + End If + Else + Return proc.StandardOutput.ReadToEnd() + End If + Catch ex As Exception + If ex.Message.Contains("cannot find the file") Then + Return "Java is not installed, or is not accessible." & vbCrLf & _ + "Please report this problem to your local" & vbCrLf & _ + "systems support staff." + End If + End Try + Return "unknown error" + End Function + + Private Sub getBarcodeFile() + + Dim xmltext As String + Dim bcstart As Integer = 0 + Dim bcend As Integer = 0 + Dim current_date As String = Date.Now.Date + Dim xmlerror As String = "" + Dim er As String = "" + Dim cdxml As String = "<current_date>" & current_date & "</current_date>" + Dim xmlend As String = "</physical_item_display_for_printing>" + Dim x As Array + Dim linenum As Integer = 0 + Dim charpos As Integer = 0 + Dim coords As String + Dim pos As Array + Dim s As String = "" + Dim i As Integer + Dim loopcount As Integer = 0 + xmlReturned = xmlReturned.Replace(xmlend, cdxml & xmlend) + + loopcount = 0 + Do + Try + ' ANGLE BRACKET ERROR OCCURS HERE + + xdoc.LoadXml(xmlReturned.Replace("&", "|amp")) + Exit Do + '********************************* + Catch ex As Exception 'if xdoc.LoadXml fails, it may be due to < character in the data. + x = Split(xmlReturned, vbLf) 'need an array of lines to find line# of bad "<" character. + s = ex.ToString + If s.Contains("Name cannot begin with") Then 'If error is due to extraneous < character + coords = Mid$(s, s.IndexOf("Line "), 24) 'finds location (line#, char pos. w/in line) + coords = coords.Replace("Line", "").Replace("position", "").Replace(".", "").Replace(" ", "") + pos = Split(coords, ",") 'comma separates line# from char position + linenum = pos(0) - 1 + charpos = pos(1) + Mid$(x(linenum), charpos - 1, 1) = "`" 'replace offending < with accent mark + x(linenum) = x(linenum).replace("`", "|lt;") 'change accent to code representing < char. Later, + xmlReturned = "" 'during XML display, |lt; will be replaced with < + For i = 0 To x.Length - 1 + xmlReturned = xmlReturned & x(i) & vbLf + Next + + loopcount = loopcount + 1 + If loopcount > 10 Then + MsgBox("Too many tries to fix the XML record") + Exit Do + End If + Else 'if this is not a "<" error, then give up. + MsgBox("SpineOMatic cannot process the XML due to invalid characters in the data." & vbCrLf & _ + "The error returned is: " & vbCrLf & ex.ToString) + Exit Sub + End If + End Try + Loop While True + + + xmltext = StripControlChars(xmlReturned, False) + xmltext = xmltext.Replace("></", "> </") + xmltext = xmltext.Replace("><", ">" & vbCrLf & "<") + RichTextBox1.Clear() + RichTextBox1.ForeColor = Color.Red + RichTextBox1.Text = xmltext + writeStat("S") + If xmltext.IndexOf("</error>") - xmltext.IndexOf("<error>") > 8 Then + OutputBox.Text = "***** ERROR ******" & vbCrLf & "can't find this barcode number in Alma" + almaReturnCode = "Bad barcode" + InputBox.SelectionStart = 0 + InputBox.SelectionLength = InputBox.Text.Length + If File.Exists(lastxml) = True Then File.Delete(lastxml) + cntype = "-" + buildStatRec() + Exit Sub + End If + + If xmltext.IndexOf("</som_error>") - xmltext.IndexOf("<som_error>") > 8 Then + er = xmltext.ToLower + OutputBox.Text = "***** ERROR *****" & vbCrLf & "Can't connect to Alma" + If er.IndexOf("unauthorized") > 0 Then + OutputBox.Text = OutputBox.Text & vbCrLf & "Java: credentials unauthorized." + almaReturnCode = "Bad credentials" + Else + If er.IndexOf("unknownhost") > 0 Then + OutputBox.Text = OutputBox.Text & vbCrLf & "Java: **Check Alma URL." + almaReturnCode = "Bad URL" + Else + If er.IndexOf("unsupported endpoint") Or er.IndexOf("illegalargument") > 0 Then + OutputBox.Text = OutputBox.Text & vbCrLf & "Java: **Check Alma URL--It must start with http://" + almaReturnCode = "Bad URL" + End If + End If + End If + cntype = "-" + buildStatRec() + InputBox.SelectionStart = 0 + InputBox.SelectionLength = InputBox.Text.Length + If File.Exists(lastxml) = True Then File.Delete(lastxml) + Exit Sub + End If + + almaReturnCode = "OK" + + lcxml = xmlValue(inCallNumSource.Text).Replace(vbTab, "") + + If Not inIssueLevelSource.Text.Contains("parsed") Then + issuexml = xmlValue(inIssueLevelSource.Text) + If Trim(issuexml) <> "" Then + issuexml = Custom2(inIssueLevelSource.Text) + End If + End If + + libxml = xmlValue(TextBox13.Text) + locxml = xmlValue(TextBox14.Text) + almaLibrary = libxml + almaLocation = locxml + cntype = xmlValue("<call_number_type>") + If Trim(cntype) = "" Then cntype = convertBlankTo.Text + testComboBox.Text = lcxml + testCallNumType.Text = cntype + + buildStatRec() + RichTextBox1.Enabled = False + formatXML() + RichTextBox1.Enabled = True + If File.Exists(lastxml) = True Then File.Delete(lastxml) + printCallNum() + End Sub + Private Sub getNodeList() + batchPreview.Text = "" + Dim nodelist As XmlNodeList + Dim node As XmlNode + nodelist = xdoc.SelectNodes("//*") + MsgBox(nodelist.Count) + For Each node In nodelist + batchPreview.Text = batchPreview.Text & node.Name & vbCrLf + Next + + End Sub + Private Sub formatXML() + 'Makes the Current XML display look more like XML in the RichTextBox window. + Dim pos As Integer = 0 + Dim tagstart As Integer = 0 + Dim tagend As Integer = 0 + Dim tagname As String = "" + Dim nextclose As Integer = 0 + Dim nextend As Integer = 0 + Dim endname As String = "" + Dim sp As Integer = 0 + Dim ep As Integer = 0 + Try + With RichTextBox1 + While True + tagstart = .Find("<", tagstart, RichTextBoxFinds.MatchCase) + .SelectionStart = tagstart + .SelectionLength = 1 + .SelectionColor = Color.Blue + If tagstart = -1 Then Exit While + tagend = .Find(">", tagstart, RichTextBoxFinds.MatchCase) + .SelectionStart = tagend + .SelectionLength = 1 + .SelectionColor = Color.Blue + tagname = Mid$(.Text, tagstart + 1, tagend - tagstart + 1) + nextclose = .Find("</", tagend, RichTextBoxFinds.MatchCase) + If nextclose = -1 Then Exit While + .SelectionStart = nextclose + 1 'make the "/" blue + .SelectionLength = 1 + .SelectionColor = Color.Blue + nextend = .Find(">", nextclose, RichTextBoxFinds.MatchCase) + endname = Mid$(.Text, nextclose + 1, nextend - nextclose + 1) + If tagname = endname.Replace("/", "") Then + sp = tagend + 1 + ep = nextclose - 1 + .SelectionStart = sp + .SelectionLength = ep - sp + 1 + .SelectionColor = Color.Black + .SelectionFont = New Font(Me.RichTextBox1.SelectionFont, FontStyle.Bold) + End If + tagstart = tagstart + 1 + End While + End With + Catch ex As Exception + MsgBox("error: " & ex.ToString) + End Try + End Sub + Private Function StripControlChars(ByVal source As String, Optional ByVal KeepCRLF As _ +Boolean = True) As String + ' we use this to build the result + Dim sb As New System.Text.StringBuilder(source.Length) + Dim index As Integer + For index = 0 To source.Length - 1 + If Not Char.IsControl(source, index) Then + ' not a control char, so we can add to result + sb.Append(source.Chars(index)) + ElseIf KeepCRLF AndAlso source.Substring(index, _ + 2) = ControlChars.CrLf Then + ' it is a CRLF, and the user asked to keep it + sb.Append(source.Chars(index)) + End If + Next + Return sb.ToString() + End Function + + Private Sub printCallNum() + Dim preLC As String = "" + Dim mainLC As String = "" + Dim issueLC As String = "" + Dim otherLC As String = "" + Dim taday As String = DateTime.Now.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture) + Dim checklines As Array = Nothing + Dim maxChars As Integer = CType(inMaxChars.Text, Integer) + Dim maxlines As Integer = CType(inMaxLines.Text, Integer) + Dim charsOK As Boolean = True + Dim linesOK As Boolean = True + Dim i As Integer = 0 + Dim fontname As String = inFontName.Text + Dim fontsize As Single = CType(inFontSize.Text, Single) + Dim quot = """" + Dim checkcr As String = "" + Dim cr As String = "" + Dim ttl As String = "" + '********************************************** + preLC = aboveCall(libxml, locxml) '& vbCrLf + If preLC <> "" Then preLC = preLC & vbCrLf + '********************************************** + preLC = preLC.Replace(";", vbCrLf) + OutputBox.Font = New Font(fontname, fontsize) + ttl = xmlValue("<title>") + If ttl.Length > 70 Then + ttl = ttl.Substring(0, 70) & "..." + End If + TextBox24.Text = ttl 'xmlValue("<title>") + + Label27.Text = xmlValue("<library_name>") + Dim custom_field As String = "" + Dim otherval As String = "" + Dim parserName As String = "" + + If CustomLabel.Checked Then + 'create custom label + parsedBy.BackColor = Color.White + If FlagSlips.Checked Then + parsedBy.ForeColor = Color.Green + parsedBy.Text = "Label type: Custom/Flag Slips" + Else + parsedBy.ForeColor = Color.Green + parsedBy.Text = "Label type: Custom" + End If + OutputBox.Text = "" + OutputBox.Text = Custom2(CustomText.Text) + If Mid$(OutputBox.Text, 1, 2) = vbCrLf Then + OutputBox.Text = OutputBox.Text.Substring(2) + End If + Else + If useExlibrisParsing.Checked = False Then + parsedBy.ForeColor = Color.Blue + parsedBy.BackColor = Color.White + parserName = TabControl2.SelectedTab.Text.Replace("/Child.Lit/NLM", "...") + parsedBy.Text = "Call# Parser: SpineOMatic " & parserName + mainLC = parseLC(lcxml) + Else + parsedBy.ForeColor = Color.DarkRed + parsedBy.BackColor = Color.White + parsedBy.Text = "Call# Parser: Ex Libris" + mainLC = getParsing2(parsingSource.Text) + End If + + If chkIncludeHoldings.Checked Then 'if holdings are requested... + If inIssueLevelSource.Text = "<parsed_issue_level_description>" Then + issueLC = vbCrLf & Trim(getParsing2("<parsed_issue_level_description>")) + holdingsBy.Text = "Holdings: Ex Libris parsed." : holdingsBy.ForeColor = Color.DarkRed + If issueLC = vbCrLf Then 'if no parsed holdings were found... + issuexml = xmlValue("<issue_level_description>") + issueLC = vbCrLf & Trim(parseIssue(issuexml)) 'use textual holdings + issueLC = issueLC.Replace("^", ":" & vbCrLf) + holdingsBy.Text = "Holdings: SpineOMatic, no Ex Libris" : holdingsBy.ForeColor = Color.DarkCyan + If issueLC = vbCrLf Then + holdingsBy.Text = "Holdings: None found." : holdingsBy.ForeColor = Color.Gray + issueLC = "" + End If + End If + Else 'if requesting textual holdings + issueLC = vbCrLf & Trim(parseIssue(issuexml)) 'get textual holdings + issueLC = issueLC.Replace("^", ":" & vbCrLf) + holdingsBy.Text = "Holdings: SpineOMatic" : holdingsBy.ForeColor = Color.Blue + If issueLC = vbCrLf Then + holdingsBy.Text = "Holdings: none found." : holdingsBy.ForeColor = Color.Gray + issueLC = "" + End If + End If + Else + holdingsBy.Text = "Holdings: Not requested." : holdingsBy.ForeColor = Color.Gray + issueLC = "" + End If + + If chkIncludeOther.Checked Then + otherLC = Custom2(inOtherSource.Text) + Else + otherLC = "" + End If + + checkcr = preLC & mainLC & issueLC + OutputBox.Text = checkcr.Replace(vbCrLf & vbCrLf, vbCrLf) & otherLC + origText = OutputBox.Text 'save text to later detect if it was manually changed + If dontConvert.Checked Then OutputBox.Text = "** VIEW RESTful XML ONLY **" & _ + vbCrLf & vbCrLf & "Uncheck 'Don't Convert XML' in the Alma Access panel " & _ + "to restore normal operation." + End If + + charsOK = True + + If dontConvert.Checked = False Then + checklines = Split(OutputBox.Text, vbCrLf) + Dim siz As Size = TextRenderer.MeasureText(OutputBox.Text, OutputBox.Font) + If siz.Height > OutputBox.Height Then + OutputBox.ScrollBars = ScrollBars.Vertical + Else + OutputBox.ScrollBars = ScrollBars.None + End If + If checklines.Length > maxlines Then + Beep() + MsgBox("Label contains more than " & maxlines & " lines.", MsgBoxStyle.Exclamation, "Too Many Lines") + linesOK = False + End If + For i = 0 To checklines.Length - 1 + If checklines(i).length > maxChars Then + MsgBox("Line #" & i + 1 & ": " & checklines(i) & _ + vbCrLf & " contains more than " & maxChars & " characters.") + charsOK = False + End If + Next + End If + plOutput.Text = "" + plOutput.Font = New Font(inFontName.Text, CType(inFontSize.Text, Single), FontStyle.Regular) + + If chkUsePocketLabels.Checked Then + Try + CreatePocketLabel() + Catch ex As Exception + MsgBox("User-defined pocket label error." & vbCrLf & _ + "The maximum number of lines for XML field " & quot & ex.Message & quot & _ +" must not be less than the minimum, and/or must not be zero.", MsgBoxStyle.Exclamation, "Custom Label Line Space Error") + Exit Sub + End Try + End If + + If AutoPrintBox.Checked And charsOK And linesOK Then + editText = "" + ManualPrint.PerformClick() 'send text to printer + End If + + End Sub + + Private Function checkLineLength() As Integer + Dim checklines As Array = Nothing + Dim maxChars As Integer = CType(inMaxChars.Text, Integer) + Dim i As Integer = 0 + Dim r As Integer = 99 + checklines = Split(OutputBox.Text, vbCrLf) + For i = 0 To checklines.Length - 1 + If checklines(i).length > maxChars Then + r = i + 1 'if a line exceeds the specified line length, the 1-based line number is returned + Exit For + End If + Next + Return r 'if r returns with 99, all lines are OK. + End Function + Private Function Custom2(ByVal fields As String) As String + + If Trim(fields) = "" Then + Return "" + Exit Function + End If + + Dim i As Integer = 0 + Dim cf As String = "" + Dim custom As Array + Dim fmt As String = "" + Dim fmtreturn As Array + Dim freetext As String = "" + Dim val = "" + Dim lbl = "" + Dim quot As String = """" + Dim txt As String = "" + Dim fldval As String = "" + Dim s As String = vbCrLf + Dim bg, nd As Integer + Dim qlen As Integer = 0 + Dim charWrap As Integer = 0 + Dim s1, s2, s3 As String + + fields = fields.Replace("><", "/") + + custom = Split(fields, vbCrLf) + 'When Spine labels are selected, only the "Include other field" is sent through this routine. + 'If that field is wrapped, it must be wrapped to the Chars/Line value, not to a length. + If Spine.Checked Then + charWrap = CType(inMaxChars.Text, Integer) + End If + 'getFmt returns an array in fmtreturn. Fmtreturn(0) is the format string, Fmtreturn(1) is any quoted text + + Try + For i = 0 To custom.Length - 1 + cf = custom(i) + wrapping = False + bg = cf.IndexOf("<") : nd = cf.IndexOf(">") + If bg <> -1 And nd <> -1 And bg < nd Then 'if this is a <xml_value> in angle brackets, + fmtreturn = getFmt(Trim(cf.Substring(0, bg))) + fmt = fmtreturn(0) + cf = cf.Substring(bg, nd - bg + 1) + fldval = xmlValue(cf) + txt = fmtreturn(1) & fldval + Else 'if this is a free-text string + fmtreturn = getFmt(cf) + If fmtreturn(1) <> "" Then qlen = 2 'if quoted text exists, account for quote marks + txt = fmtreturn(1) & cf.Substring(fmtreturn(0).Length + fmtreturn(1).length + qlen) + fmt = fmtreturn(0) + End If + + If Trim(txt) = "" Then Continue For + ' + ' txt = Trim(getPrefix(fmt) & Trim(txt)) 'add any prefix to the value. + If fmt <> "" Then + + If fmt.Contains("*") Then + s1 = "" : s2 = "" : s3 = "" + If suppress1.Text = "" Then s1 = "@@" Else s1 = suppress1.Text + If suppress2.Text = "" Then s2 = "@@" Else s2 = suppress2.Text + If suppress3.Text = "" Then s3 = "@@" Else s3 = suppress3.Text + 'If Trim(fldval.Replace("0", "")) = "" Then + If Trim(fldval.Replace(s1, "").Replace(s2, "").Replace(s3, "")) = "" Then + 'Exit For + txt = "" + End If + End If + + If fmt.Contains("~") Then lbl = lbl & vbCrLf + If fmt.Contains("!") Then lbl = lbl & "!" + If fmt.Contains("+") Then + lbl = lbl & aboveCall(libxml, locxml).Replace(";", vbCrLf) + txt = "" + End If + + If fmt.Contains("=") Then wrapping = True + + If fmt.Contains("%") Then 'if call number parse prefix, + val = wrap(parseLC(txt), charWrap) 'val is parsed call number. + Else + If fmt.Contains("#") Then '0therwise, if holdings-parse prefix, + val = wrap(parseIssue(txt).Replace("^", ":" & vbCrLf), charWrap) 'val is parsed holdings + Else + val = wrap(txt, charWrap) 'if neither, val is just the XML value + End If + End If + + If fmt.Contains("^") Then + lbl = lbl & val & " " 'add the value to the outputbox, no line break. + Else + 'If lbl <> "" Then lbl = lbl & val & vbCrLf 'add the value to the outputbox w/ linebreak. + If val <> "" Then lbl = lbl & val & vbCrLf 'add the value to the outputbox w/ linebreak. + End If + + Else 'if no formatting... + lbl = lbl & wrap(txt, charWrap) & vbCrLf + End If + Next + + Catch ex As Exception + MsgBox("Error in Custom2(): " & ex.ToString) + End Try + If lbl.length > 2 Then + lbl = vbCrLf & lbl.substring(0, lbl.length - 2) 'removes crlf from end of string + End If + Return lbl + End Function + Private Function getFmt(ByVal arg As String) As Array + 'loop thru free text arg, storing initial format chars (~ # % ! ^) in 'fmt' + 'Removes quoted "prefix" text that may contain these characters. + Dim fmt As String = "" + Dim quot As String = """" + Dim a As Array + Dim argnoquot As String = "" + Dim c As String = "" + Dim i As Integer = 0 + Dim qm As String = "" + Dim qcount As Integer = 0 + If Trim(arg) = "" Then 'if arg is null, + Return Split("" & "|" & "", "|") 'return two empty fields. + End If + + If arg.Contains(quot) Then + a = arg.Split(quot) + qcount = a.Length - 1 + 'Label27.Text = qcount + If qcount Mod 2 <> 0 Then + MsgBox("Unbalanced quotation marks in format string: " & arg, MsgBoxStyle.Exclamation, "Unbalanced quotes in format string") + Return Split("" & "|" & "", "|") 'return two empty fields. + End If + argnoquot = a(0) & a(2) + qm = a(1) + Else + argnoquot = arg + End If + + For i = 1 To argnoquot.Length + c = Mid$(argnoquot, i, 1) + If "~=!#%^*+".Contains(c) Then + fmt = fmt & c + Else + Exit For + End If + Next + Return Split(fmt & "|" & qm, "|") + End Function + Private Function getPrefix(ByVal fmt As String) As String + Dim quot As String = """" + Dim a As Array + If Not fmt.Contains(quot) Then Return "" + a = fmt.Split(quot) 'splitting on quots puts the contents in element #1 (0 and 2 have the quots) + Return a(1) 'return the text string between the quots. + End Function + Private Function CreateFlagSlip() As String + Dim i As Integer = 0 + Dim custom_field As String = "" + Dim custom As Array + Dim lname As String = "" + Dim cn As String = "" + Dim itm As String = "" + Dim bc As String = "" + Dim titl As String = "" + Dim mywidth As Single = 0.0 + Dim myfont As New Font(fontname, 10) + custom = Split(CustomText.Text, vbCrLf) + + OutputBox.Font = myfont + For i = 0 To custom.Length - 1 + custom_field = custom(i) + + If custom_field = "<call_number>" Then + cn = parseLC(xmlValue(custom_field)) + End If + If custom_field = "<issue_level_description>" Then + itm = parseIssue(xmlValue(custom_field)) + itm = itm.Replace("^", ":") 'non-breaking colon returns as ^, and is replaced by : + itm = wrap(itm) + End If + If custom_field = "<barcode>" Then + bc = "!" & xmlValue(custom_field) + End If + If custom_field.Contains("<title>") Then + titlexml = xmlValue(custom_field) + titl = "~" & wrap(titlexml) + End If + If custom_field = "<location_name>" Then + lname = "~" & xmlValue(custom_field) + lname = wrap(lname) + End If + Next + Return bc & vbCrLf & lname & vbCrLf & cn & vbCrLf & itm & vbCrLf & titl + End Function + Private Sub CreatePocketLabel() + Dim plValues As Array + Dim plParam As Array + Dim plMin As Integer = 0 + Dim plMax As Integer = 0 + Dim i As Integer = 0 + Dim k As Integer = 0 + Dim temp As String = "" + Dim formatChar As String = "" + plParam = PocketParams() + wrapping = True + indenting = True + + + For i = 0 To plParam.Length - 1 + plValues = Split(plParam(i), ";") + If Trim(plValues(0)) = "" Then + Continue For + End If + plMin = CType(plValues(1), Integer) : plMax = CType(plValues(2), Integer) + If plMin > plMax Or plMax = 0 Then + Throw New Exception(plValues(0)) 'send back the XML field name that has bad min/max lines. + Exit Sub + End If + plWork.Text = "" + + If Mid$(plValues(0), 1, 1) = "!" Then + formatChar = "!" + plValues(0) = Mid$(plValues(0), 2, plValues(0).Length - 1) 'remove the ! + Else + formatChar = "" + End If + + temp = formatChar & xmlValue(plValues(0)) + If plValues(0).contains("title>") Then + If temp.Substring(temp.Length - 2) = " /" Then + temp = temp.Substring(0, temp.Length - 2) + End If + End If + ' plWork.Text = plWork.Text & wrap(xmlValue(plValues(0))) + plWork.Text = plWork.Text & wrap(temp, 28) + plWork.Text = plWork.Text & StrDup(5, vbCrLf) + If plWork.Text = "" And plMin = 0 Then Continue For + k = 0 + Do While k < plMin 'print minimum number of lines + plOutput.Text = plOutput.Text & plWork.Lines(k).ToString & vbCrLf + k = k + 1 + Loop + + Do While k < plMax And plWork.Lines(k) <> "" 'stop at maximum, or when no more lines. + plOutput.Text = plOutput.Text & plWork.Lines(k).ToString & vbCrLf + k = k + 1 + Loop + + Next + plOutput.Text = plOutput.Text.Substring(0, plOutput.Text.Length - 2) 'remove final crlf + wrapping = False + indenting = False + End Sub + Private Function PocketParams() As Array + Dim plParam As Array + If btnSLB.Checked Then + plParam = Split("<call_number>;1;1|<author>;1;2|<title>;1;2", "|") + labelCount = 1 + Else + If btnSL4.Checked Then + plParam = Split("<call_number>;1;1|<author>;1;2|<title>;1;2", "|") + labelCount = 2 + Else + If btnSL6.Checked Then + plParam = Split("<call_number>;2;2|<author>;2;3|<title>;1;3", "|") + labelCount = 2 + Else + plParam = Split(plSrc1.Text & ";" & plMin1.Text & ";" & plMax1.Text & "|" & _ + plSrc2.Text & ";" & plMin2.Text & ";" & plMax2.Text & "|" & _ + plSrc3.Text & ";" & plMin3.Text & ";" & plMax3.Text & "|" & _ + plSrc4.Text & ";" & plMin4.Text & ";" & plMax4.Text, "|") + labelCount = PLcount.Value + End If + End If + End If + Return plParam + End Function + Private Function HexString(ByVal EvalString As String) As String + Dim intStrLen As Integer + Dim intLoop As Integer + Dim strHex As String = "" + + EvalString = Trim(EvalString) + intStrLen = Len(EvalString) + For intLoop = 1 To intStrLen + strHex = strHex & " " & Hex(Asc(Mid(EvalString, intLoop, 1))) + Next + HexString = strHex + End Function + Private Function wrap(ByVal textline As String, Optional ByVal useCharCount As Integer = 0) As String + 'wrap a string to the label width [if no useCharCount is passed to this routine] + 'wrap a string to a specified number of characters if useCharCount is provided] + '*********** + If Not wrapping Then Return textline + '*********** + If Trim(textline) = "" Then Return "" + If textline.Length > 200 Then + textline = Mid$(textline, 1, 200) & "..." + End If + Dim maxCharsPerLine As Integer = 0 + + If useCharCount = 0 Then + Dim chars As Integer = textline.Length + Dim textwidth = Measure(textline, "t") + Dim fitToWidth As Single = CType(wrapWidth.Text, Single) * 0.9 'use a 10% buffer + If textwidth <= fitToWidth Then Return textline + Dim cpi As Single = chars / textwidth + maxCharsPerLine = CType(cpi * fitToWidth, Integer) + + Else + maxCharsPerLine = useCharCount + If textline.Length <= useCharCount Then Return textline + End If + + Dim result As String = "" + Dim base As Integer = 1 + Dim inc As Integer = 0 + Dim s As String = "" + Dim lastSpace As Integer = 0 + Dim i As Integer = 0 + Dim indentChar As String = "" + If indenting Then + indentChar = " " + Else + indentChar = "" + End If + + Try + Do + lastSpace = Mid$(textline, base, maxCharsPerLine).LastIndexOf(" ") + If lastSpace = -1 Then + textline = textline.Insert(base + maxCharsPerLine - 1, "-|") + base = base + maxCharsPerLine + 2 + Else + Mid$(textline, base + lastSpace, 1) = "|" + base = base + lastSpace + End If + If textline.Length - base <= maxCharsPerLine Then Exit Do + Loop While True + Catch ex As Exception + MsgBox("The font size (" & inFontSize.Text & ") is too large to properly fit in the label width (" & inLabelWidth.Text & ")") + Return "[font too large]" + End Try + + Return textline.Replace("|", vbCrLf & indentChar) + End Function + + Private Function Measure(ByVal BannerText As String, ByVal fontType As String) As Single + 'fontType is "t" for measuring a text font, or bc for measuring a barcode font. + Dim mywidth As Single + Dim b As Bitmap + Dim g As Graphics + Dim stringSize As SizeF + 'Dim units As GraphicsUnit = GraphicsUnit.Inch + Dim f As New Font(inFontName.Text, CType(inFontSize.Text, Single)) + Dim bc As New Font(inBCFontName.Text, CType(inBCFontSize.Text, Single)) + ' Compute the string dimensions in the given font + b = New Bitmap(1, 1, PixelFormat.Format32bppArgb) + g = Graphics.FromImage(b) + g.PageUnit = GraphicsUnit.Inch + + If fontType = "t" Then + stringSize = g.MeasureString(BannerText, f) + Else + stringSize = g.MeasureString(BannerText, bc) + End If + + mywidth = stringSize.Width + 'Height = stringSize.Height + g.Dispose() + b.Dispose() + Return mywidth + End Function + Function cleanup(ByVal callout As String) As String + callout = callout.Replace(vbCrLf & " ", vbCrLf) + callout = callout.Replace(vbCrLf & vbCrLf, vbCrLf) + If callout.StartsWith(vbCrLf) Then + callout = callout.Substring(1) + End If + '*** unfinished routine to limit labels to user-specified number of lines, and dump + '*** remaining portion of call number on last line. + 'If usingDewey Then + ' If deweyGroup3.Enabled And deweyGroup3.Checked Then + ' Dim nlcount = Len(callout) - Len(callout.Replace("vbcrlf", "")) + ' Dim maxlines As Integer = CType(deweyMaxLines.Text, Integer) + ' If nlcount > maxlines Then + ' Do While nlcount - maxlines <> 0 + + ' Loop + ' End If + ' End If + 'End If + Return callout + End Function + + Private Function parseLC(ByVal cn As String) As String + Dim callout As String = "" + Dim cutter As String = "" + Dim diagstring As String = "" + Dim match As String = "" + Dim pos As Integer = 1 + Dim i As Integer = 0 + If cn = "*" Then Return "" : Exit Function + + If Not cn.Contains("*") Then 'TEST call nums will start with * + cntype = xmlValue("<call_number_type>") 'if not TEST, get call number type from XML + Else + cn = cn.Replace("*", "") 'if TEST, remove * + 'The TEST process will have already set the cntype, so don't get it from the XML record. + End If + + If Trim(cntype) = "" Then cntype = convertBlankTo.Text + ' + If DeweyType.Text.Contains(cntype) Then + callout = parseDewey(cn) + callout = cleanup(callout) + Return callout + Else + If sudocType.Text.Contains(cntype) Then + callout = parseSuDoc2(cn) + callout = cleanup(callout) + Return callout + Else + If otherType.Text.Contains(cntype) Then + callout = parseOther(cn) + callout = cleanup(callout) + Return callout + Else + If Not lcType.Text.Contains(cntype) Then + MsgBox("Call number type " & cntype & " is not handeld by any parsing routine.") + Return ("Unhandled Call Number Type") + End If + End If + End If + End If + + + 'If we arrive here, process LC: + + Do While Char.IsLetter(Mid$(cn, pos, 1)) 'loop through LC class letters + callout = callout + Mid$(cn, pos, 1) + pos = pos + 1 + Loop 'exit when we hit a non-letter + + If lcNumericBreak.Checked Then + callout = callout + vbCrLf 'add a cr/lf + End If + 'End If + 'loop through class numerics, including decimal if present. + 'loop while we see digits, or a decimal followed by a digit. + If Mid$(cn, pos, 1) = " " Then + pos = pos + 1 + End If + + Do While Char.IsDigit(Mid$(cn, pos, 1)) _ + Or (Mid$(cn, pos, 1) = "." And Char.IsDigit(Mid$(cn, pos + 1, 1))) + callout = callout + Mid$(cn, pos, 1) + pos = pos + 1 + Loop + + If lcDecimalBreakAfter.Checked Then + callout = callout.Replace(".", "." & vbCrLf) + End If + + If lcDecimalBreakB4.Checked Then + callout = callout.Replace(".", vbCrLf & ".") + End If + + If lcCutterBreak.Checked Then + callout = callout + vbCrLf 'add a cr/lf after the class numerics + Else + callout = callout + " " + End If + + cutter = cn.Substring(pos - 1) 'trim off the rest of the cn and put it in the cutter var. + 'if cutter starts with a space or punctuation other than a decimal, remove it + If Mid$(cutter, 1, 1) = " " Or _ + (Char.IsPunctuation(Mid$(cutter, 1, 1)) And Not Mid$(cutter, 1, 1) = ".") Then + cutter = cutter.Substring(1) + End If + '******* + If lcCutterBreak.Checked Then + cutter = cutter.Replace(" .", vbCrLf & ".") + Else + cutter = cutter.Replace(" .", ".") + End If + + If hideCutterDecimal.Checked Then + 'cutter = cutter.Replace(".", "") + + 'If cutter begins with a decimal, remove it. + 'But make sure the cutter exists before referring to a substring... + If cutter.Length > 1 AndAlso cutter.Substring(0, 1) = "." Then + cutter = cutter.Substring(1) + End If + + End If + + '******* + 'parseCaption2 determines which spaces in the cutter should cause a line break. + 'In ".H27 L43 2011", or ".H2345x 1997" or ".H143 1990", each space should cause a break. + 'In ".H27 v. 4", the space between "v." and "4" should not cause a break. + + cutter = parseCaption2(cutter) 'initially, all spaces are turned into "?" + + 'then, each is examined to see if should cause a break or not. + If lcInCutterBreak.Checked Then + cutter = cutter.Replace(" ", vbCrLf) 'those that should break are turned back into spaces + End If + cutter = cutter.Replace("?", " ") 'those that should not break are left as ?, + 'and this line turns those back into ordinary spaces before printing occurs. + + callout = callout + cutter + + If Not lcOtherNoBreak.Checked Then + lcBreak.Text = Trim(lcBreak.Text) + For i = 0 To lcBreak.Lines.Length - 1 + match = Trim(lcBreak.Lines(i)) + If match <> "" And callout.Contains(match) Then + If lcOtherBreakB4.Checked Then + callout = callout.Replace(match, vbCrLf & match) + Else + callout = callout.Replace(match, match & vbCrLf) + End If + If lcRemoveAfter.Checked Then callout = callout.Replace(match, "") + End If + Next + End If + + callout = cleanup(callout) + + Return callout + End Function + + Private Function parseDewey(ByVal cn As String) + Dim callout As String = "" + Dim cutter As String = "" + Dim afterdecimal As String = "" + Dim pos As Integer = 0 + Dim p As Integer = 0 + Dim i As Integer = 0 + Dim c As Integer = 0 + Dim ch As String = "" + Dim dcnt As Integer = 0 + cn = Trim(cn) + 'find cutter: + 'look for 1st digit + For i = 0 To cn.Length - 1 + If Char.IsDigit(Mid$(cn, i + 1, 1)) Then + Exit For + End If + Next + + 'loop until space (digits after decimal may contain alpha chars. + For c = i To cn.Length - 1 + If Mid$(cn, c + 1, 1) = " " Then + Exit For + End If + Next + callout = cn.Substring(0, c) + cutter = cn.Substring(c) + + If deweyPrefixBreak.Checked Then + If Char.IsLetter(Mid$(callout, 1, 1)) Then + For i = 0 To callout.Length - 1 + If Char.IsDigit(Mid$(callout, i + 1, 1)) Then + callout = callout.Substring(0, i).Replace(" ", vbCrLf) & vbCrLf & callout.Substring(i) + Exit For + End If + Next + End If + End If + + If Not deweyDecimalNoBreak.Checked Then + 'look for a decimal that has a digit on either side + pos = callout.IndexOf(".") + If pos <> -1 Then + If Char.IsDigit(callout.Substring(pos - 1, 1)) And Char.IsDigit(callout.Substring(pos + 1, 1)) Then + 'replace this decimal (and not any others later in the call num) with a vertical bar + callout = callout.Substring(0, pos) & "|" & callout.Substring(pos + 1) + If deweyDecimalBreakb4.Checked Then + callout = callout.Replace("|", vbCrLf & ".") 'break before: make it new line then dot + Else + callout = callout.Replace("|", "." & vbCrLf) 'break after: make it dot then new line + If deweyGroup3.Checked Then + callout = groupSplit(callout) + End If + End If + End If + End If + Else + 'Break on a specified number of digits past the decimal point + pos = callout.IndexOf(".") 'find the class decimal + + If pos <> -1 Then + If deweyDecBreak.Checked Then + 'xxxxxxxxxxxxxxxxxxxx New Routine Goes Here xxxxxxxxxxxxxxxxxxxxxx + p = pos + 1 + 'count the number of digits after the class decimal + For i = p To callout.Length - 1 + ch = callout.Substring(i, 1) + If Not Char.IsDigit(ch) Then Exit For + dcnt = dcnt + 1 + Next + If dcnt > CType(deweyDigitsToBreak.Text, Integer) Then + callout = callout.Insert(pos + CType(deweyDigitsToBreak.Text, Integer) + 1, vbCrLf) + End If + End If + End If + End If + + If deweyCutterBreak.Checked Then + callout = callout & vbCrLf & cutter.Replace(". ", "|").Replace(" ", vbCrLf).Replace("|", ". ") + Else + callout = callout & " " & cutter + End If + + + If deweyOtherNoBreak.Checked Then Return callout + If Trim(deweyCharBreak.Text) = "" Then Return callout + Dim match As String = "" + For i = 0 To deweyCharBreak.Lines.Length - 1 + match = Trim(deweyCharBreak.Lines(i)) + If match <> "" And callout.Contains(match) Then + If deweyCharBreakb4.Checked Then + callout = callout.Replace(match, vbCrLf & match) + Else + callout = callout.Replace(match, match & vbCrLf) + End If + If deweyRemoveAfter.Checked Then callout = callout.Replace(match, "") + End If + Next + + usingDewey = True + callout = cleanup(callout) + Return callout + End Function + Private Function groupSplit(ByVal cn As String) As String + Dim pos As Integer + Dim newcn As String = "" + Dim j As Integer = 0 + Dim k As Integer = 0 + Dim brake As Integer = 0 + Dim cpl As Integer + + cpl = CType(deweydigitsperline.Text, Integer) + pos = cn.IndexOf(".") + 2 + If pos = -1 Then Return cn + pos = pos + 1 + newcn = cn.Substring(0, pos) & vbCrLf + 'pos points to first character after the decimal point + j = pos + Do While pos < cn.Length AndAlso Char.IsDigit(cn.Substring(pos)) + brake = brake + 1 + If brake > 20 Then Return "whoa" + newcn = newcn & cn.Substring(pos, 1) + j = j + 1 + k = k + 1 + If k Mod cpl = 0 And pos + 1 < cn.Length AndAlso Char.IsDigit(cn.Substring(pos + 1)) Then + newcn = newcn & vbCrLf + j = j + 2 + End If + pos = pos + 1 + Loop + newcn = newcn & cn.Substring(pos) + + Return newcn + End Function + Private Function parseSuDoc2(ByVal cn As String) As String + Dim cpart As Array + Dim pre, post As String + Dim separator = "" + Dim i As Integer = 0 + Dim callout As String = "" + + If sudocBreakB4Numerics.Checked Then + For i = 0 To cn.Length - 1 + If Char.IsDigit(Mid$(cn, i + 1, 1)) Then + cn = cn.Substring(0, i) & vbCrLf & cn.Substring(i) + Exit For + End If + Next + End If + + If sudocBreakBeforeColon.Checked Then + separator = vbCrLf & ":" + Else + If sudocBreakAfterColon.Checked Then + separator = ":" & vbCrLf + Else + separator = ":" + End If + End If + + cpart = Split(cn, ":") + pre = cpart(0) + post = "" + If cpart.Length > 1 Then 'If colon exists... + post = cpart(1) + If sudocSlashBreak.Checked Then + post = cpart(1).replace("/", vbCrLf) + End If + If sudocBreakDecimal.Checked Then + pre = pre.Replace(".", vbCrLf & ".") + End If + + If sudocDashBreak.Checked Then + post = breakSpace(post) + post = post.Replace("-", vbCrLf) + End If + post = post.Replace("?", vbCrLf) + Else + post = "" 'if no colon, "post" is null + separator = "" + End If + + callout = cleanup(pre & separator & post) + + If sudocOtherNoBreak.Checked Then Return callout + If Trim(sudocCharBreak.Text) = "" Then Return callout + Dim match As String = "" + For i = 0 To sudocCharBreak.Lines.Length - 1 + match = Trim(sudocCharBreak.Lines(i)) + If match <> "" And callout.Contains(match) Then + If sudocCharBreakB4.Checked Then + callout = callout.Replace(match, vbCrLf & match) + Else + callout = callout.Replace(match, match & vbCrLf) + End If + If sudocRemoveAfter.Checked Then callout = callout.Replace(match, "") + End If + Next + + Return callout + End Function + Private Function parseOther(ByVal cn As String) + Dim callout As String = "" + Dim i As Integer = 0 + 'Call number type 4 = "Shelving Control Number; + 'type 8 is "Other". + 'type 7 is "source specified in subfield $2" - added by customer request + 'These simply break on spaces. + 'If cntype = "4" Or cntype = "8" Then + callout = cn + If otherAllSpaceBreak.Checked Then + callout = cn.Replace(" ", vbCrLf) + Else + If otherFirstSpaceBreak.Checked Then + i = callout.IndexOf(" ") + If i <> -1 Then + Mid$(callout, i + 1, 1) = "|" + callout = callout.Replace("|", vbCrLf) + End If + End If + End If + + + If otherNumBreakb4.Checked Then + For i = 0 To callout.Length - 1 + If IsNumeric(Mid$(callout, i + 1, 1)) Then + callout = callout.Substring(0, i) & vbCrLf & callout.Substring(i) + Exit For + End If + Next + Else + If otherNumBreakAfter.Checked Then + For i = 0 To callout.Length - 1 + If IsNumeric(Mid$(callout, i + 1, 1)) And Mid$(callout, i + 2, 1) = " " Then + Mid$(callout, i + 2, 1) = "|" + callout = callout.Replace("|", vbCrLf) + End If + Next + End If + End If + callout = cleanup(callout) + + If otherListNoBreak.Checked Then Return callout + If Trim(otherBreak.Text) = "" Then Return callout + Dim match As String = "" + For i = 0 To otherBreak.Lines.Length - 1 + match = Trim(otherBreak.Lines(i)) + If match <> "" And callout.Contains(match) Then + If otherListBreakb4.Checked Then + callout = callout.Replace(match, vbCrLf & match) + Else + callout = callout.Replace(match, match & vbCrLf) + End If + If otherRemoveAfter.Checked Then callout = callout.Replace(match, "") + End If + Next + callout = cleanup(callout) + Return callout + 'End If + End Function + + Private Function breakSpace(ByVal cn As String) As String + 'replace a breakable space with "?" + Dim i As Integer = 1 + Dim done As Integer = 0 + cn = Trim(cn) 'make sure no spaces at beginning or end of string + done = cn.Length + Do + If Char.IsDigit(Mid$(cn, i, 1)) And Mid$(cn, i + 1, 1) = " " And Char.IsLetter(Mid$(cn, i + 2, 1)) Then + Mid$(cn, i + 1, 1) = "?" + End If + i = i + 1 + Loop While i < done - 2 + Return cn + End Function + Private Function getParsing2(ByVal xmlsource As String) As String + Dim callout As String = "" + Dim buildLC As String = "" + Dim prefix As String = "" + Dim i As Integer = 1 + If xmlsource = "<parsed_issue_level_description>" Then + prefix = "<issue_level_description_" + Else + prefix = "<call_no_" + End If + + Do + 'buildLC = xmlValue(xmlsource & "<call_no_" & i & ">") + buildLC = xmlValue(xmlsource & prefix & i & ">") + If buildLC = "" Then Exit Do + If i <> 1 Then callout = callout & vbCrLf + callout = callout & buildLC + i = i + 1 + Loop + Return callout.Replace(vbCrLf & vbCrLf, vbCrLf) + End Function + + Private Function parseIssue(ByVal issueText As String) As String + + 'only return holdings if <issue_level_description> is selected in the "Spine" label type. + 'I.e., ignore the "include holdings" checkbox if using "Custom" label format. + + If Not chkIncludeHoldings.Checked And Spine.Checked Then + Return "" + End If + + Dim issueWork As String = issueText + Dim maxchars = CType(inMaxChars.Text, Integer) + Dim op As Integer = 0 + Dim cp As Integer = 0 + Dim i As Integer = 0 + + If ProtectColon.Checked And ProtectColon.Enabled Then + 'if a colon is found inside of parentheses, protect it by replacing it with + 'a caret (^), and then later replacing the caret with a colon plus a cr/lf. + 'The colon remains visible on the final label, but it can still cause a line + 'break (if "break on colon" is checked). + Try + op = InStr(cp + 1, issueWork, "(", CompareMethod.Text) + cp = InStr(op + 1, issueWork, ")", CompareMethod.Text) + For i = op To cp + If Mid$(issueWork, i, 1) = ":" Then Mid$(issueWork, i, 1) = "^" + Next + Catch + 'The routine above will throw an exception if there are no parentheses in + 'the string, so we are sent here, which does nothing. The error is simply + 'ignored. + End Try + + End If + + 'If the issue level description contains a colon, assume that no parsing is needed other than + 'replacing colons with cr/lf. + 'if no colons, assume older format material that needs to be parsed by the parseCaption + 'routine (i.e., break on space unless space immediately follows an alpha string.) + + If ColonBreak.Checked And issueWork.IndexOf(":") <> -1 Then + issueWork = issueWork.Replace(" :", ":").Replace(": ", ":").Replace(":", vbCrLf) + If ProtectColon.Checked Then + issueWork = issueWork.Replace("^", ":" & vbCrLf) + End If + Else + issueWork = issueWork + issueWork = Trim(parseCaption2(issueWork)) + 'breakable spaces are now " ", non-breakable spaces are "?" + + If spaceBreak.Checked Then + issueWork = issueWork.Replace(" ", vbCrLf) 'replace breakable spaces with crlf + End If + + issueWork = issueWork.Replace("?", " ") 'turn non-breakable spaces back into spaces + End If + + If BreakParen.Checked And issueWork.Replace(vbCrLf, "").Length > maxchars Then + issueWork = issueWork.Replace("(", vbCrLf + "(") + End If + + If issueListNoBreak.Checked Then Return issueWork + If Trim(issueBreak.Text) = "" Then Return issueWork + + Dim match As String = "" + + For i = 0 To issueBreak.Lines.Length - 1 + match = Trim(issueBreak.Lines(i)) + match = match.Replace("~", " ") + If match <> "" And issueWork.Contains(match) Then + If issueListBreakB4.Checked Then + issueWork = issueWork.Replace(match, vbCrLf & match) + Else + issueWork = issueWork.Replace(match, match & vbCrLf) + End If + If issueRemoveAfter.Checked Then issueWork = issueWork.Replace(match, "") + End If + + Next + + Return issueWork + End Function + + Function parseCaption2(ByVal cutter As String) As String + Dim c As String = cutter + Dim i As Integer = 0 + Dim done As Integer = 0 + Dim pos As Integer = 0 + 'replace every space in the cutter with a "?" (which ensures that all spaces will not + 'cause a break.) + c = c.Replace(" ", "?") + i = 1 + done = c.Length + + 'Then examine the characters on both sides of each "?" to see if that space + 'should be breakable or not. + Do + + If Char.IsDigit(Mid$(c, i, 1)) And Mid$(c, i + 1, 1) = "?" And Char.IsLetter(Mid$(c, i + 2, 1)) Then + 'if we find digit/?/letter, that ? should be replaced by a space, causing a break. + 'so in "H237?J14", the ? will be replaced by a breakable space + Mid$(c, i + 1, 1) = " " + End If + 'If Mid$(c, i, 1) = "x" And Mid$(c, i + 1, 1) = "?" And Char.IsDigit(Mid$(c, i + 2, 1)) Then + If Char.IsLetter(Mid$(c, i, 1)) And Mid$(c, i + 1, 1) = "?" And IsYear(c, i + 2) = True Then + 'if "x?digit", the space should be breakable as well. + 'so in "H1234x?1927", the space will be breakable. + 'MODIFIED: Any letter (not just 'x') followed by a 4-digit date will break. + Mid$(c, i + 1, 1) = " " + End If + + If Char.IsDigit(Mid$(c, i, 1)) And Mid$(c, i + 1, 1) = "?" And Char.IsDigit(Mid$(c, i + 2, 1)) Then + 'if "digit?digit", the space should be breakable + 'so in "H27?2011", the space will be breakable. + Mid$(c, i + 1, 1) = " " + End If + + i = i + 1 + Loop While i < done - 2 + + Return c + End Function + Private Function IsYear(ByVal c As String, ByVal i As Integer) As Boolean + 'c is the string containing the cutter + 'i is the position in c of the first character that might or might not be the first digit of a year. + 'If the four characters starting at position i are all numeric, IsYear returns True. + If Char.IsDigit(Mid$(c, i, 1)) And Char.IsDigit(Mid$(c, i + 1, 1)) And Char.IsDigit(Mid$(c, i + 2, 1)) And Char.IsDigit(Mid$(c, i + 3, 1)) Then + Return True + Else + Return False + End If + End Function + Private Function aboveCall(ByVal libname As String, ByVal liblocation As String) As String + Dim labeltext As String = "" + Dim listentry As String = "" + Dim lookfor As String = libname & "+" & liblocation + Dim len As Integer = lookfor.Length + Dim testentry As String = "" + Dim i As Integer = 0 + Dim itemindex As Integer = 0 + For i = 0 To altList.Items.Count - 1 + testentry = altList.Items.Item(i) + If Mid$(testentry, 1, testentry.IndexOf("=")) = lookfor Then + labeltext = testentry.Substring(testentry.IndexOf("=") + 1) + vbCrLf + Exit For + End If + Next + Return labeltext + End Function + + Private Sub loadLabelText() + ignoreChange = True + Dim inrec As String = "" + Dim itm As String = "" + Dim pos As Integer = 0 + Dim tab1 As Integer = 0 + Dim tab2 As Integer = 0 + Dim library As String = "" + Dim location As String = "" + Dim labeltext As String = "" + Dim sw As StreamWriter + Dim savecombotext As String = ComboBox1.SelectedItem + + Dim sr As StreamReader + Dim fs As FileStream + + If (Not File.Exists(mypath & ALTfile)) Then + sw = File.CreateText(mypath & ALTfile) + sw.Close() + End If + fs = New FileStream(mypath & ALTfile, FileMode.Open) + sr = New StreamReader(fs) + itm = sr.ReadLine() + altList.Items.Clear() + ComboBox1.Items.Clear() + ComboBox1.Items.Add("All Libraries") + + Try + While Not itm Is Nothing + If itm.Length > 5 Then 'ignore blank/incomplete lines + If itm.Contains(vbTab) Then + tab1 = InStr(itm, vbTab) + tab2 = InStr(tab1 + 1, itm, vbTab, CompareMethod.Text) + library = Mid$(itm, 1, tab1 - 1) + location = Mid$(itm, tab1 + 1, tab2 - tab1 - 1) + labeltext = Mid$(itm, tab2 + 1, 99) + inrec = library & "+" & location & "=" & labeltext + If Trim(labeltext) = "" Then + itm = sr.ReadLine() + Continue While + End If + Else + inrec = Trim(itm) + pos = InStr(itm, "+", CompareMethod.Text) + library = Mid$(itm, 1, pos - 1) + pos = InStr(itm, "=", CompareMethod.Text) + If pos = inrec.Length Then + labeltext = "" + Else + labeltext = Mid$(inrec, pos + 1, inrec.Length - pos) + End If + If Trim(labeltext) = "" Then + itm = sr.ReadLine() + Continue While + End If + End If + If ComboBox1.Items.Contains(library) = False Then + ComboBox1.Items.Add(library) + End If + + If ComboBox1.Text = "All Libraries" Or ComboBox1.Text = library Then + altList.Items.Add(inrec) + End If + End If + + itm = sr.ReadLine() + End While + Catch ex As Exception + MsgBox("The file '" & ALTfile & "' could not be found." & _ + vbCrLf & "Reason: " & ex.Message) + End Try + + sr.Close() + fs.Close() + ComboBox1.Text = savecombotext + ignoreChange = False + End Sub + + Private Sub writeFile(ByVal fpath As String, ByVal fstring As String, ByVal append As Boolean) + + 'writes the "labelout.txt" file to path: c:\a_spine, or any other file/path + 'passed to the subroutine. "append" is true to append, false to replace file data. + Dim sw As StreamWriter + Dim i As Integer = 0 + Dim listrec As String = "" + Try + If (Not File.Exists(fpath)) Then + sw = File.CreateText(fpath) + sw.Close() + End If + + sw = New StreamWriter(fpath, append) + sw.WriteLine(fstring) + sw.Close() + + Catch ex As IOException + MsgBox("error writing to file: " & fpath & vbCrLf & _ + ex.ToString) + End Try + End Sub + + 'Private Sub GetVideoInfo() + ' Dim query As New SelectQuery("Win32_DesktopMonitor") + ' Dim searcher As New ManagementObjectSearcher(query)'' + + 'For Each envVar As ManagementBaseObject In searcher.Get() + ' For Each obj As PropertyData In envVar.Properties + 'Console.WriteLine(obj.Name) 'get the name to pass in below + ' Next + ' pixelsPerInchX = envVar("PixelsPerXLogicalInch") + 'pixelsPerInchY = envVar("PixelsPerYLogicalInch") + 'Next + 'MsgBox("pixels/in X: " & pixelsPerInchX & " pixels/in Y: " & pixelsPerInchY) + 'End Sub + + Private Sub PrinterDialogButn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrinterDialogButn.Click + Dim dlgSettings As New PrintDialog() + dlgSettings.UseEXDialog = True + dlgSettings.Document = PrintDocument1 + 'dlgSettings.ShowDialog() + If dlgSettings.ShowDialog() = Windows.Forms.DialogResult.OK Then + inPrinterName.Text = dlgSettings.PrinterSettings.PrinterName + End If + End Sub + + Private Sub FontDialogButn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FontDialogButn.Click + Dim fntSettings As New FontDialog() + 'fntSettings.ShowDialog() + If fntSettings.ShowDialog() = Windows.Forms.DialogResult.OK Then + inFontName.Text = fntSettings.Font.Name + inFontSize.Text = fntSettings.Font.Size + inFontWeight.Checked = fntSettings.Font.Bold + End If + + End Sub + + Private Sub ftpPrint() + 'Triggers print to FTP printer when labelout.txt is written to the installation + 'directory, alerting FileSystemWatcher2 to begin processing. + Dim tline As Array = Split(OutputBox.Text, vbCrLf) + Dim t As Integer = 0 + Dim labelcmds As String = "" + Dim LMar As Integer = CType(TextBox19.Text, Integer) + Dim Top As Integer = CType(TextBox20.Text, Integer) + Dim Inc As Integer = CType(TextBox21.Text, Integer) + Dim Fontnum As String = TextBox22.Text + Dim Fontsize As String = TextBox23.Text + Dim textout As String = "" + Dim maxLines As Integer = CType(inMaxLines.Text, Integer) + Dim labelTop As Integer = 0 + Dim lineCount As Integer = 0 + Dim curline As Integer = 0 + Dim lastLine As Integer = 0 + If Trim(tline(tline.Length - 1)) = "" Then + lastLine = tline.Length - 2 + Else + lastLine = tline.Length - 1 + End If + Do + labelTop = Top + For t = curline To lastLine + labelcmds = labelcmds & "T " & LMar.ToString & "," & labelTop.ToString & "," & _ + "0," & Fontnum & "," & "pt" & Fontsize & ";" & tline(t) + If t < tline.Length - 1 Then labelcmds = labelcmds & vbCrLf + labelTop = labelTop + Inc + lineCount = lineCount + 1 + If lineCount = maxLines Then + lineCount = 0 + Exit For + End If + Next + textout = textout & TextBox17.Text.Replace("#LABELTEXT#", labelcmds).Replace("#COUNT#", LabelRepeat.Value) & vbCrLf + labelcmds = "" + curline = t + 1 + Loop While curline <= lastLine + writeFile(mypath & "labelout.txt", textout, False) + changeCount = 0 + writeStat("F") 'Add "F" to statrec and write to statfile. + OutputBox.Text = "" + InputBox.Text = "" + InputBox.Focus() + End Sub + + Private Sub FileSystemWatcher2_Changed(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher2.Changed + ' + 'Used with the FTP printer type only. When the "labelout.txt" file is written + '(this is the file that contains "JScript" label printing instructions for the industrial-style + 'FTP-attached CAB printer), this filesystemwatcher's "changed" event is triggered. This starts the + 'ftpbat.bat batch file process which logs into the printer's FTP server and transfers + 'the contents of the labelout.txt file to the printer's "/execute" directory, causing the + 'printer to print the label. + ' + 'The "changed" event fires multiple times for a single file change. To avoid + 'multiple executions of this code, a SyncLock ensures that only one event at a + 'time can enter the "start" routine. The "changeCount" is set to zero in the + 'calling routine, and incremented every time the SyncLock is entered. In SyncLock, + 'only if changeCount is zero will the batch process start. + + Dim ftpBatchFilePath As String = mypath & "ftpbat.bat" + Dim maxLines As Integer = CType(inMaxLines.Text, Integer) + Dim startInfo As New ProcessStartInfo(ftpBatchFilePath) + Dim p As Process + 'startInfo.WindowStyle = ProcessWindowStyle.Hidden 'makes sure entire process is invisible + startInfo.Arguments = FTPip.Text 'the IP address is passed to ftpbat.bat as an argument + Dim mlock As New Object + SyncLock mlock + If changeCount = 0 Then + changeCount = changeCount + 1 + p = Process.Start(startInfo) 'tell Windows to start the batch file + End If + End SyncLock + + End Sub + Private Sub viaDOS(ByVal labeltext As String) + Dim dosPath As String = mypath & "viados.bat" + Dim startInfo As New ProcessStartInfo(dosPath) + Dim p As Process + Dim p1 As String = "" + Dim p2 As String = "" + Dim quot As String = """" + + If hideDosWindow.Checked Then + Dim batchtext As String = "" + Dim sr As StreamReader + Try + sr = New StreamReader(mypath & "viados.bat") + batchtext = sr.ReadToEnd() + sr.Close() + Catch ex As Exception + MsgBox("No viados.bat file was found.", MsgBoxStyle.Exclamation, "No viados.bat file") + Exit Sub + End Try + If batchtext.ToUpper.Contains("PAUSE") Or batchtext.ToUpper.Contains("PATHNAME") Then + MsgBox("This batch file cannot in run in hidden mode because it contains 'pause' or 'PathName' commands " & _ + "that will require a user response.", MsgBoxStyle.Exclamation, "Hidden Mode Error") + Exit Sub + End If + End If + + writeFile(mypath & "label.txt", labeltext, False) + Thread.Sleep(300) + If Trim(dosParam1.Text).Contains("<") Then + p1 = xmlValue(dosParam1.Text) + Else + p1 = dosParam1.Text + End If + If Trim(dosParam2.Text).Contains("<") Then + p2 = xmlValue(dosParam2.Text) + Else + p2 = dosParam2.Text + End If + startInfo.Arguments = quot & p1 & quot & " " & quot & p2 & quot + If hideDosWindow.Checked Then + startInfo.WindowStyle = ProcessWindowStyle.Hidden + End If + Try + p = Process.Start(startInfo) + Catch ex As Exception + MsgBox("The DOS Batch File could not be started." & vbCrLf & "Error: " & ex.Message, MsgBoxStyle.Exclamation, "Batch File Error") + End Try + + End Sub + Private Sub InputBox_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles InputBox.DragDrop + Dim temptext As String = "" + If e.Data.GetDataPresent(DataFormats.Text) Then + temptext = e.Data.GetData(DataFormats.Text).ToString() + If temptext.Length > 20 Then + InputBox.Text = "???" + Beep() + Else + InputBox.Focus() + InputBox.Text = temptext + AppActivate("SpineOMatic " & somVersion.Replace("/", ".")) + callAlma() + End If + End If + End Sub + + Private Sub InputBox_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles InputBox.DragEnter + If e.Data.GetDataPresent(DataFormats.Text) Then + e.Effect = DragDropEffects.All + End If + End Sub + + Private Sub InputBox_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles InputBox.GotFocus + InputBox.BackColor = Color.FromArgb(220, 255, 220) + End Sub + Private Sub InputBox_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles InputBox.LostFocus + InputBox.BackColor = Color.FromArgb(255, 220, 220) + End Sub + Private Sub InputBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles InputBox.KeyPress + + If e.KeyChar = ControlChars.Cr Then + e.Handled = True + If InputBox.Text.ToLower = "admin" Then + InputBox.Text = "" + If settingsOpen Then CloseSettings() Else openSettings() + updatePath.Visible = False + InputBox.Focus() + Else + If InputBox.Text.ToLower = "adminsecure" Then + InputBox.Text = "" + openSettings() + InputBox.Focus() + updatePath.Visible = True + Else + If InputBox.Text.ToLower = "adminl0gv1ew" Then + InputBox.Text = "" + openSettings() + InputBox.Focus() + OutputBox.Text = "Log View Enabled" + getWebLog() + byAlpha.Checked = True + chkGeoList.Visible = True + chkAddHostname.Visible = True + Else + If InputBox.Text.ToLower = "java" Then + + OutputBox.Text = GetJavaVersionInfo() + Else + If usrname.Text = "" And chkRequireUser.Checked Then + OutputBox.Font = New Font("MS Sans Serif", 9, FontStyle.Regular) + OutputBox.Text = usermessage + usrname.BackColor = Color.Yellow + usrname.Focus() + Else + callAlma() + End If + End If + End If + End If + End If + End If + End Sub + + Private Sub ScanButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ScanButton.Click + OutputBox.Text = "" + plOutput.Text = "" + lblXMLWarn.Visible = False + HistoryList.Visible = False + ArrowLabel.Text = "q" + parsedBy.Text = "" + holdingsBy.Text = "" + InputBox.Focus() + InputBox.Text = "" + End Sub + + Private Sub AutoPrintBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AutoPrintBox.CheckedChanged + If AutoPrintBox.Checked Then + AutoPrintBox.Font = New Font(AutoPrintBox.Font, FontStyle.Bold) + ReviewBox.Font = New Font(ReviewBox.Font, FontStyle.Regular) + End If + InputBox.Focus() + End Sub + + Private Sub ReviewBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReviewBox.CheckedChanged + If ReviewBox.Checked Then + ReviewBox.Font = New Font(ReviewBox.Font, FontStyle.Bold) + AutoPrintBox.Font = New Font(AutoPrintBox.Font, FontStyle.Regular) + Else + ReviewBox.Font = New Font(ReviewBox.Font, FontStyle.Regular) + AutoPrintBox.Font = New Font(AutoPrintBox.Font, FontStyle.Bold) + End If + InputBox.Focus() + + End Sub + + Private Sub UseDesktop_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UseDesktop.CheckedChanged + If UseDesktop.Checked Then + refreshFTP() + UseDesktop.Font = New Font(UseDesktop.Font, FontStyle.Bold) + UseLaser.Font = New Font(UseLaser.Font, FontStyle.Regular) + UseFTP.Font = New Font(UseFTP.Font, FontStyle.Regular) + SheetSettings.Visible = False + FTPGroup.Visible = False + orientationPanel.Visible = True + marginPanel.Visible = True + UseDesktop.Size = New Point(360, 168) + DesktopGroup.Visible = True + ManualPrint.Text = "Send to desktop printer" + AutoPrintBox.Text = "Auto Print" + ToolTip1.SetToolTip(AutoPrintBox, "Print label without reviewing it") + InputBox.Focus() + End If + End Sub + Private Sub UseLaser_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UseLaser.CheckedChanged + If UseLaser.Checked Then + refreshFTP() + UseLaser.Font = New Font(UseLaser.Font, FontStyle.Bold) + UseDesktop.Font = New Font(UseDesktop.Font, FontStyle.Regular) + UseFTP.Font = New Font(UseFTP.Font, FontStyle.Regular) + FTPGroup.Visible = False + DesktopGroup.Visible = True + SheetSettings.Visible = True + orientationPanel.Visible = True + marginPanel.Visible = True + AutoPrintBox.Text = "Auto Add" + ToolTip1.SetToolTip(AutoPrintBox, "Add label to batch without reviewing it.") + ManualPrint.Text = "Add to batch #" & batchNumber.Value.ToString() + InputBox.Focus() + End If + End Sub + Private Sub UseFTP_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UseFTP.CheckedChanged + If UseFTP.Checked Then + + UseFTP.Font = New Font(UseFTP.Font, FontStyle.Bold) + UseLaser.Font = New Font(UseLaser.Font, FontStyle.Regular) + UseDesktop.Font = New Font(UseDesktop.Font, FontStyle.Regular) + DesktopGroup.Visible = False + FTPGroup.Location = New Point(8, 28) + FTPGroup.Size = New Point(400, 295) '400 x 280 + FTPGroup.Visible = True + orientationPanel.Visible = False + marginPanel.Visible = False + AutoPrintBox.Text = "Auto Print" + ToolTip1.SetToolTip(AutoPrintBox, "Print label without reviewing it.") + refreshFTP() + InputBox.Focus() + End If + End Sub + Private Sub refreshFTP() + If chkUsePocketLabels.Checked And UseFTP.Checked Then + FTPwarning.Visible = True + FTPwarning2.Visible = True + ManualPrint.Text = "--- Not Supported ---" + ManualPrint.Enabled = False + Else + FTPwarning.Visible = False + FTPwarning2.Visible = False + ManualPrint.Enabled = True + ToolTip1.SetToolTip(ManualPrint, "Send label text to selected printer.") + If UseFTP.Checked Then ManualPrint.Text = "Send to FTP Printer" + If UseLaser.Checked Then ManualPrint.Text = "Add to batch #" & batchNumber.Value.ToString + If UseDesktop.Checked Then ManualPrint.Text = "Send to desktop printer" + If useDOSBatch.Checked Then + ManualPrint.Text = "Run 'viados' batch file" + ToolTip1.SetToolTip(ManualPrint, "Writes label text to 'label.txt' file, then starts 'viados.bat' batch file.") + End If + + End If + If Spine.Checked Then + If radio_useSOMparsing.Checked Then + spineType.Text = "Spine (SpineOMatic parsing)" + Else + spineType.Text = "Spine (Ex Libris parsing)" + End If + Else + If CustomLabel.Checked Then + spineType.Text = "Custom" + If FlagSlips.Checked Then + spineType.Text = "Custom/Flag Slips" + End If + End If + End If + End Sub + + Private Sub openSettings() + 'expand user interface box to make administrative panels visible + Me.Size = New Size(760, 442) + settingsOpen = True + lblToggleAdmin.Text = "t" + InputBox.Focus() + End Sub + + Private Sub saveSettings(ByVal savetype As String) + TextBox24.ForeColor = Color.Red + TextBox24.Text = "SAVING SETTINGS..." + Application.DoEvents() + Dim conlist As List(Of Control) + Dim ctl As Control + Dim val As String = "" + Dim r As RadioButton + Dim c As CheckBox + Dim n As NumericUpDown + Dim vline As String = "<spinelabel_settings>" & vbCrLf + + If pocketDefaultLoaded = True Then + SaveDefaults(pocketDefaults) + Else + If spineDefaultLoaded = True Then + SaveDefaults(spineDefaults) + Else + If customFlagDefaultLoaded = True Then + SaveDefaults(flagDefaults) + 'wrapWidth.Text = flagWrapWidth.Text + flagWrapWidth.Text = wrapWidth.Text + Else + SaveDefaults(nonFlagDefaults) + 'wrapWidth.Text = nonFlagWrapWidth.Text + nonFlagWrapWidth.Text = wrapWidth.Text + End If + End If + End If + + conlist = GetAllControls(Me) ' function GetAllControls recursively loops through all + 'controls on the form and returns a complete list. + + For Each ctl In conlist + + If ctl.Tag <> Nothing Then 'for all controls that have a "tag" entry... + If Mid$(ctl.Tag, 1, 5) = "radio" Then 'for radio button type controls + r = CType(ctl, RadioButton) 'save the radio button as either selected or not + If r.Checked Then val = "true" Else val = "false" + End If + If Mid$(ctl.Tag, 1, 5) = "check" Then 'for checkbox type controls + c = CType(ctl, CheckBox) 'save the checkbox as either checked or not + If c.Checked Then val = "true" Else val = "false" + End If + If Mid$(ctl.Tag, 1, 4) = "text" Then 'for all text type controls + val = ctl.Text 'save the text of .text attribute + val = val.Replace(vbCrLf, "~cr~") 'but change cr/lf to a code that can be + End If 'turned back into a cr/lf later + + If Mid$(ctl.Tag, 1, 4) = "texo" Then 'for all obscured text type controls + val = ctl.Text 'save the text of .text attribute + val = obscure(val) + val = val.Replace(vbCrLf, "~cr~") 'but change cr/lf to a code that can be + End If 'turned back into a cr/lf later + + If Mid$(ctl.Tag, 1, 5) = "numud" Then 'for the numeric up/down control + n = CType(ctl, NumericUpDown) 'save the numeric value + val = n.Value + End If 'Then put the saved value between <controlname>...</controlname> elements + vline = vline & "<" & ctl.Tag & ">" & val & "</" & ctl.Tag & ">" & vbCrLf + End If + Next + + vline = vline & "</spinelabel_settings>" + If savetype = "todisk" Then + RichTextBox1.Clear() + RichTextBox1.Text = vline + formatXML() + writeFile(mypath & "settings.som", vline, False) + original_settings = vline.Replace(vbCrLf, "") + Else + closing_settings = vline.Replace(vbCrLf, "") + End If + TextBox24.Text = "" + End Sub + + Private Sub SaveSettingsButn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveSettingsButn.Click + saveSettings("todisk") + End Sub + Private Sub LoadSettingsButn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LoadSettingsButn.Click + GetSettingsFile() + End Sub + Private Sub GetSettingsFile() + TextBox24.ForeColor = Color.Red + TextBox24.Text = "LOADING SETTINGS..." + Application.DoEvents() + Dim settingsFile As String = mypath & "settings.som" + settingsfound = True + Try + Dim tr As TextReader = New StreamReader(settingsFile) + RichTextBox1.Clear() + RichTextBox1.ForeColor = Color.Red + RichTextBox1.Text = tr.ReadToEnd + tr.Close() + Catch + openSettings() + MsgBox("Welcome to SpineOMatic. To get started:" _ + & vbCrLf & vbCrLf & "* In the Print Setup panel, select a printer, and a text font." _ + & vbCrLf & "* In the Alma Access panel, enter your Ex Libris credentials." _ + & vbCrLf & "* To avoid the Java requirement, obtain an API key from Ex Libris'" _ + & vbCrLf & "Developer's Network, and fill out the 'RESTful API' section in the" _ + & vbCrLf & " Alma Access panel." _ + & vbCrLf & "There are lots of other options and settings available--" _ + & vbCrLf & "Click the 'About' link to get the complete manual." _ + & vbCrLf & "The Quick Start section will help get you up and running.", MsgBoxStyle.Exclamation, "Getting Started") + settingsfound = False + If UseDesktop.Checked Then + UseDesktop.Checked = False + UseDesktop.Checked = True + End If + If UseLaser.Checked Then + UseLaser.Checked = False + UseLaser.Checked = True + End If + If UseFTP.Checked Then + UseFTP.Checked = False + UseFTP.Checked = True + End If + + FlagSlips.Enabled = False + CustomLabel.Checked = True + LoadDefaults(nonFlagDefaults) + Spine.Checked = True + + CustomText.Enabled = False + + + End Try + If settingsfound Then + InstallSettings() + formatXML() + 'each time settings are read from disk, they are saved for later comparison to + 'the settings that are in the form when the program closes. This can alert the user + 'that the current settings have not been saved. + original_settings = RichTextBox1.Text + End If + TextBox24.Text = "" + TextBox24.ForeColor = Color.Blue + End Sub + + Private Sub InstallSettings() + Dim conlist As List(Of Control) + Dim ctl As Control + Dim val As String = "" + Dim t As TextBox + Dim r As RadioButton + Dim c As CheckBox + Dim n As NumericUpDown + conlist = GetAllControls(Me) 'GetAllControls recursively steps through all controls on + For Each ctl In conlist 'the form, and returns a list. + If ctl.Tag <> Nothing Then 'if the control has a .tag attribute + val = getval(ctl.Tag) 'get the .tag text + If Mid$(ctl.Tag, 1, 5) = "radio" Then 'if the tag starts with "radio" + r = CType(ctl, RadioButton) 'then this is a radio button + If val <> "" Then 'if a value is present, set the .checked attribute as true or false + If val = "true" Then r.Checked = True Else r.Checked = False + End If + End If + If Mid$(ctl.Tag, 1, 5) = "check" Then 'if this is a checkbox + c = CType(ctl, CheckBox) + If val <> "" Then 'and a value is present, set the checkbox to checked or unchecked + If val = "true" Then c.Checked = True Else c.Checked = False + End If + End If + If Mid$(ctl.Tag, 1, 4) = "text" Then 'if this is a text value + t = CType(ctl, TextBox) 'set the textbox.text to the saved text + If val <> "" Then + t.Text = val.Replace("~cr~", vbCrLf) 'and turn codes back into real cr/lfs + End If + End If + + If Mid$(ctl.Tag, 1, 4) = "texo" Then 'if this is an obscured text value + t = CType(ctl, TextBox) 'set the textbox.text to the saved text + If val <> "" Then + val = obscure(val) + t.Text = val.Replace("~cr~", vbCrLf) 'and turn codes back into real cr/lfs + End If + End If + + If Mid$(ctl.Tag, 1, 5) = "numud" Then 'if this is a numeric up/down control + n = CType(ctl, NumericUpDown) + If val <> "" Then 'set the control's value to the number that was saved. + n.Value = CType(val, Integer) + End If + End If + End If + Next + 'ProgressBar1.Visible = False + 'the following toggles make sure that the text on the manual print button matches + 'the actual setting of the printer radio button, or the viados selection. + If UseDesktop.Checked Then + UseDesktop.Checked = False + UseDesktop.Checked = True + End If + If UseLaser.Checked Then + UseLaser.Checked = False + UseLaser.Checked = True + End If + If UseFTP.Checked Then + UseFTP.Checked = False + UseFTP.Checked = True + End If + If useDOSBatch.Checked Then + useDOSBatch.Checked = False + useDOSBatch.Checked = True + End If + + If dosPlUseCol.Checked Then + dosPlUseCol.Checked = False + dosPlUseCol.Checked = True + Else + dosPlUseTab.Checked = False + dosPlUseTab.Checked = True + End If + + If CustomLabel.Checked Then + FlagSlips.Enabled = True + Else + FlagSlips.Enabled = False + End If + If useExlibrisParsing.Checked Then + parsingSource.Enabled = True + inCallNumSource.Enabled = False + Else + parsingSource.Enabled = False + inCallNumSource.Enabled = True + End If + If chkIncludeOther.Checked Then + inOtherSource.Enabled = True + Else + inOtherSource.Enabled = False + End If + If radio_useLocal.Checked Then + ALTfile = "myLabelText.txt" + Else + ALTfile = "aboveLabel.txt" + End If + + If UseRestfulApi.Checked Then + accessType.Text = "R" + accessType.ForeColor = Color.Green + ToolTip1.SetToolTip(accessType, "Using preferred RESTful API access to Alma.") + Else + accessType.Text = "J" + accessType.ForeColor = Color.Red + ToolTip1.SetToolTip(accessType, "Caution--Using deprecated Java access to Alma.") + End If + + If chkUsePocketLabels.Checked Then 'pocket must be checked first, because spine or custom can also be checked, + 'but pocked labels predominate. + LoadDefaults(pocketDefaults) + 'chk_VerticalLine.Checked = pocketVerticalLine + pocketDefaultLoaded = True : spineDefaultLoaded = False : customFlagDefaultLoaded = False : customNonFlagDefaultLoaded = False + PocketLabelPanel.Location = New Point(0, 30) + PocketLabelPanel.Width = TabPage2.Size.Width + PocketLabelPanel.Height = TabPage2.Size.Height - 30 + PocketLabelPanel.Visible = True + Else + If Spine.Checked Then + LoadDefaults(spineDefaults) + pocketDefaultLoaded = False : spineDefaultLoaded = True : customFlagDefaultLoaded = False : customNonFlagDefaultLoaded = False + Else + If CustomLabel.Checked Then + If FlagSlips.Checked Then + LoadDefaults(flagDefaults) + wrapWidth.Text = flagWrapWidth.Text + pocketDefaultLoaded = False : spineDefaultLoaded = False : customFlagDefaultLoaded = True : customNonFlagDefaultLoaded = False + Else + LoadDefaults(nonFlagDefaults) + wrapWidth.Text = nonFlagWrapWidth.Text + pocketDefaultLoaded = False : spineDefaultLoaded = False : customFlagDefaultLoaded = False : customNonFlagDefaultLoaded = True + End If + End If + End If + End If + + If Not btnPlCustom.Checked Then + userDefinedPanel.Enabled = False + End If + If deweyDecimalBreakAft.Checked Then + deweyGroup3.Enabled = True + deweydigitsperline.Enabled = True + Label25.Enabled = True + End If + + TabControl1.SelectedTab = TabPage2 + TabControl1.SelectedTab = TabPage1 + + + End Sub + + Public Function GetAllControls(ByVal parent As Control) As List(Of Control) + 'recursive routine to step through all contols on the form. Necessary because + 'controls can contain controls which can contain controls, etc. + Dim list As New List(Of Control) + For Each ctl As Control In parent.Controls + list.Add(ctl) + If ctl.Controls.Count > 0 Then + list.AddRange(GetAllControls(ctl)) + End If + Next + Return list 'returns a list of all controls on the form, no matter where they appear. + End Function + + Private Function getval(ByVal tagname As String) As String + 'returns the value found between <tagname>...</tagname> in the Current XML richtextbox. + Dim val As String = "" + Dim tagstart As Integer = 0 + Dim opentag As String = "" + Dim closetag As String = "" + Dim datastart As Integer = 0 + Dim tagend As Integer = 0 + opentag = "<" & tagname & ">" + closetag = "</" & tagname & ">" + + With RichTextBox1 + tagstart = .Find(opentag) + If tagstart = -1 Then + val = "" + Return val + Exit Function + End If + datastart = tagstart + opentag.Length + tagend = .Find(closetag, tagstart + 1, RichTextBoxFinds.MatchCase) + If datastart = tagend Then + val = "" + Else + val = Mid$(.Text, datastart + 1, tagend - datastart) + End If + + End With + Return val + End Function + + Private Sub ArrowLabel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ArrowLabel.Click + If HistoryList.Visible = False Then + HistoryList.Visible = True + ArrowLabel.Text = "p" + Else + HistoryList.Visible = False + ArrowLabel.Text = "q" + End If + End Sub + + Private Sub HistoryList_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles HistoryList.DoubleClick + InputBox.Text = HistoryList.Items.Item(HistoryList.SelectedIndex) + HistoryList.Visible = False + ArrowLabel.Text = "q" + OutputBox.Text = "" + InputBox.Focus() + End Sub + + Private Sub TempLabelBox_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TempLabelBox.MouseDown + TempLabelBox.DoDragDrop(TempLabelBox.Text, DragDropEffects.Copy) + End Sub + + Private Sub CreateTempLbl_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CreateTempLbl.Click + Dim tempnum As String = "" + tempnum = "TX" & Date.Now.ToString("yyMMddHHmmssfff", CultureInfo.InvariantCulture) + TempLabelBox.Text = tempnum + End Sub + + Private Sub createTemp_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles createTemp.CheckedChanged + If createTemp.Checked Then + CreateTempLbl.Visible = True + TempLabelBox.Visible = True + Else + CreateTempLbl.Visible = False + TempLabelBox.Visible = False + End If + End Sub + + Private Sub CheckForUpdates_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckForUpdates.Click + Dim webClient As New System.Net.WebClient() + Dim result As String = "The new SpineOMatic file was downloaded successfully." + Dim msgStyle As Integer = Microsoft.VisualBasic.MsgBoxStyle.Information + Dim getExe As Boolean = False + Dim OKtoRename As Boolean = False + Dim webRequest As String = "" + Dim versionList As String = "" + Dim verlist As Array + Dim vstart As Integer = 0, vlen As Integer = 0 + Dim pv As String = "" 'preferred version + Dim exename As String = "" + Dim i As Integer = 0 + + setPath() + + webRequest = updatePath.Text & "som_list.txt" + + Try + versionList = webClient.DownloadString(webRequest) + Catch ex As Exception + msgStyle = Microsoft.VisualBasic.MsgBoxStyle.Exclamation + result = "ERROR--Could not get the version information from the Web." & vbCrLf & _ + "Check the update path to make sure it's valid." & ex.Message + getExe = False + MsgBox(result, msgStyle, "SpineOMatic Download") + Exit Sub + End Try + 'version list format: + '*SpineLabeler-1_6;20120801 (* means this is the preferred version) + 'SpineLabeler-1_5;20120731 (program name-version_subversion ; date of release) + '...etc + verlist = Split(versionList, vbCrLf) + For i = 0 To verlist.Length - 1 + If InStr(verlist(i).ToString, "*") Then 'if preferred version is found + pv = verlist(i).ToString 'parse name and version number + exename = pv.Substring(1, pv.IndexOf(";") - 1) + vstart = pv.IndexOf("-") + 1 + vlen = pv.IndexOf(";") - vstart + pv = pv.Substring(vstart, vlen) + pv = pv.Replace("_", ".") + Exit For + End If + Next + + If pv <> "" And somVersion <> pv Then 'if a preferred version is found, and it's not the version we're running + Dim box = MessageBox.Show("You are running version " & somVersion & ", but" & vbCrLf & _ + "the preferred version is " & pv & vbCrLf & "Do you want to download it now?", "Download Decision", MessageBoxButtons.YesNo, MessageBoxIcon.Question) + If box = box.No Then + result = "A new version of SpineOMatic will not be downloaded at this time." + getExe = False + Else + webRequest = updatePath.Text & exename & ".exe" + getExe = True + End If + Else + MsgBox("You are currently using the recommended version of SpineOMatic.") + Exit Sub + End If + + If getExe Then + Try + webClient.DownloadFile(webRequest, mypath & exename & ".exe") + OKtoRename = True + Catch ex As Exception + msgStyle = Microsoft.VisualBasic.MsgBoxStyle.Exclamation + result = "ERROR--Unable to download the new version of SpineOMatic." _ + & vbCrLf & vbCrLf & ex.ToString() + End Try + End If + If OKtoRename Then + My.Computer.FileSystem.RenameFile(mypath & "SpineLabeler.exe", "SpineLabeler-" & somVersion.Replace(".", "_") & ".exe") + My.Computer.FileSystem.RenameFile(mypath & exename & ".exe", "SpineLabeler.exe") + result = "SpineOMatic version " & pv & " has been downloded." & vbCrLf & _ + "You must close and restart SpineOMatic to begin using the new version." + End If + + MsgBox(result, msgStyle, "SpineOMatic Download") + End Sub + + Private Sub batchNumber_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles batchNumber.ValueChanged + If Not settingsLoaded Then Exit Sub + Dim ln As Integer = 0 + ManualPrint.Text = "Add to batch #" & batchNumber.Value.ToString() + + batchPreview.Text = GetBatch(batchNumber.Value) + If batchPreview.Lines.Length > 0 Then + batchEntries.Text = countBatch() + Else + batchEntries.Text = "0" + End If + + InputBox.Focus() + End Sub + + Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click + Dim box2 = MessageBox.Show("Click OK to empty batch file #" & batchNumber.Value & ", or " & vbCrLf & _ + "click CANCEL to keep the file.", "Confirm File Clear", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) + If box2 = box2.OK Then + writeFile(mypath & "labelbatch" & batchNumber.Value & ".txt", "", False) + batchPreview.Text = GetBatch(batchNumber.Value) + batchPreview.Text = "" + If batchPreview.Lines.Length > 0 Then + batchEntries.Text = countBatch() + Else + batchEntries.Text = "0" + End If + Else + MsgBox("Label batch file #" & batchNumber.Value & " has not been cleared.") + End If + End Sub + + Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged + + If ignoreChange = False Then + loadLabelText() + End If + End Sub + + Private Sub createBatFiles() + 'create a DOS batch file to ftp print commands to an FTP-style label printer + 'The file is re-created if it already exists, to ensure that the default path + 'is part of the command. + + 'Also creates the "sendlabel.txt" file that logs in to the ftp printer and + '"puts" the labelout.txt file into the printer. + + Dim batContents As String = "" + batContents = "@echo OFF" & vbCrLf & "ftp -s:" & mypath & "sendlabel.txt %1" + writeFile(mypath & "ftpbat.bat", batContents, False) + + batContents = FTPLogin.Text & vbCrLf & FTPPassword.Text & vbCrLf & "put " & mypath & "labelout.txt /execute/labelout.txt" & vbCrLf & "quit" + writeFile(mypath & "sendlabel.txt", batContents, False) + + If Not File.Exists(mypath & "viados.bat") Then + batContents = "REM Sample batch file displays label text" & vbCrLf & "REM in Windows Notepad" & vbCrLf & _ + "start notepad.exe label.txt" & vbCrLf + writeFile(mypath & "viados.bat", batContents, False) + End If + + ' + 'Create getalma.bat to run the java desktop app "almalabelu2.class" + 'Includes parameters: %1 = Alma url; %2 = Alma user name; %3 = Alma password; + '%4 = institution code; %5 = barcode number; %6 = output directory for returned XML file + ' + 'batContents = "@echo OFF" & vbCrLf & _ + '"java -cp .;" & javaSDKName & " " & javaClassName & " %1 %2 %3 %4 %5 %6" + 'writeFile(mypath & "getalma.bat", batContents, False) + + 'batContents = "java -cp .;" & javaSDKName & " " & javaClassName & " %1 %2 %3 %4 %5 %6" & vbCrLf & _ + '"pause" + 'writeFile(mypath & "getalmadiag.bat", batContents, False) + + End Sub + Private Sub webDownload(ByVal fname As String, ByVal ftype As String, ByVal webPath As String, ByVal fdest As String) + Dim webrequest As String = "" + Dim webClient As New System.Net.WebClient + Dim txt As String + Dim success As Boolean = True + Dim knt As Integer = 0 + webrequest = webPath & fname + Try + If ftype = "string" Then + txt = webClient.DownloadString(webrequest) + txt = txt.Replace(vbCrLf, vbLf).Replace(vbLf, vbCrLf) + writeFile(fdest & fname, txt, False) + Else + webClient.DownloadFile(webrequest, fdest & fname) + End If + Catch ex As Exception + success = False + If ex.Message.Contains("407") Then + MsgBox("Your proxy server is not allowing you to connect to the BC server:" & vbCrLf & vbCrLf & _ + webPath & vbCrLf & vbCrLf & _ + "Ask your IT Networking office to allow access to ('whitelist') this server.", MsgBoxStyle.Exclamation, "Proxy Server Block") + End If + MsgBox(fname & "- Download error: " & ex.Message) + Exit Sub + End Try + + End Sub + + Private Sub downloadAboveLcFile() + + Dim webRequest As String = "" + Dim webClient As New System.Net.WebClient() + Dim labelText As String = "" + Dim msgStyle = Microsoft.VisualBasic.MsgBoxStyle.Exclamation + Dim result As String = "" + + If radio_useLocal.Checked Then Exit Sub + If altURL.Text = "" Then + altURL.BackColor = Color.White + Exit Sub + End If + If Mid$(altURL.Text, altURL.Text.Length, 1) <> "/" Then + altURL.Text = altURL.Text & "/" + End If + webRequest = altURL.Text & "aboveLabel.txt" + + Try + labelText = webClient.DownloadString(webRequest) + labelText = labelText.Replace(vbCrLf, vbLf).Replace(vbLf, vbCrLf) + + Catch ex As Exception + altURL.BackColor = Color.Pink + msgStyle = Microsoft.VisualBasic.MsgBoxStyle.Exclamation + MsgBox("ERROR -- The 'aboveLabel.txt' file could not be downloaded from " & _ + webRequest & _ + vbCrLf & "Reason: " & ex.Message, msgStyle, "AboveLabelText File Download") + Exit Sub + End Try + altURL.BackColor = Color.White + writeFile(mypath & "aboveLabel.txt", labelText, False) + + End Sub + + Private Sub SaveAboveLC_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveAboveLC.Click + downloadAboveLcFile() + loadLabelText() + End Sub + + Private Sub CloseSettings() '_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CloseSettings.Click + 'reduce the size of the user interface box to hide the administrative panels + Me.Size = New Size(223, 442) + settingsOpen = False + lblToggleAdmin.Text = "u" + InputBox.Focus() + End Sub + + Private Sub btnBCFontDialog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBCFontDialog.Click + Dim fntSettings As New FontDialog() + 'fntSettings.ShowDialog() + If fntSettings.ShowDialog() = Windows.Forms.DialogResult.OK Then + inBCFontName.Text = fntSettings.Font.Name + inBCFontSize.Text = fntSettings.Font.Size + inBCFontWeight.Checked = fntSettings.Font.Bold + End If + End Sub + + Private Sub Label47_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label47.Click + Dim picBox As New PictureBox + Dim btnmsg As String + picBox = PictureBox1 + Dim img As New Bitmap(picBox.Width, picBox.Height) + Dim brush As New System.Drawing.Drawing2D.LinearGradientBrush(New PointF(0, 0), New PointF(img.Width, img.Height), System.Drawing.Color.Beige, System.Drawing.Color.Tan) + 'Dim gr As Graphics = Graphics.FromImage(img) + Dim gr As Graphics = Graphics.FromImage(PictureBox1.BackgroundImage) + 'gr.FillRectangle(brush, New RectangleF(0, 0, img.Width, img.Height)) + 'picBox.BackgroundImage = img + Dim bcWeight = New FontStyle + bcWeight = FontStyle.Bold + Dim bFont As New Font("times new roman", CType(14.0, Single), FontStyle.Bold) + Dim sFont As New Font("verdana", CType(10.0, Single), FontStyle.Bold) + Dim tfont As New Font("verdana", CType(8.0, Single), FontStyle.Regular) + Dim ufont As New Font("verdana", CType(12.0, Single), FontStyle.Bold) + gr.DrawString("SpineOMatic", bFont, Brushes.Black, 5, 10) + gr.DrawString("v" & somVersion & "", sFont, Brushes.Black, 120, 20) + gr.DrawString("Works with Ex Libris' Alma to print spine labels,", tfont, Brushes.Black, 210, 20) + gr.DrawString("flag slips, or other custom labels to a variety", tfont, Brushes.Black, 210, 32) + gr.DrawString("of desktop or networked printers.", tfont, Brushes.Black, 210, 44) + + gr.DrawString("Questions?", sFont, Brushes.Black, 5, 72) + gr.DrawString("Send them to: spineomatic-ggroup@bc.edu", tfont, Brushes.Black, 10, 90) + + gr.DrawString("Glenn Manino, developer", sFont, Brushes.Black, 5, 115) + gr.DrawString("Former Library Systems Integration Analyst", tfont, Brushes.Black, 10, 130) + gr.DrawString("Kevin Kidd", sFont, Brushes.Black, 5, 153) + gr.DrawString("Former Head, Library Systems and Applications", tfont, Brushes.Black, 10, 167) + 'gr.DrawString("kiddk@bc.edu 617.552.1359", tfont, Brushes.Black, 10, 171) + gr.DrawString("Boston College Library Systems", bFont, Brushes.Black, 130, 225) + gr.DrawString("140 Commonwealth Ave., Chestnut Hill, MA 02467", tfont, Brushes.Black, 122, 250) + gr.DrawString("Copyright 2013, Trustees of Boston College. All rights reserved.", tfont, Brushes.Black, 70, 295) + gr.DrawString("X", ufont, Brushes.Red, img.Width - 20, 0) + PictureBox1.Visible = True + Application.DoEvents() + btnmsg = "Click to get the v." & somVersion & " SpineOMatic manual. (Requires MSWord)" + btnDocDownload.Text = btnmsg + btnDocDownload.Visible = True + btnViewLicense.Visible = True + btnDocDownload.BringToFront() + btnViewLicense.BringToFront() + saveTab = TabControl1.SelectedTab + TabControl1.SelectedTab = TabPage4 + End Sub + + Private Sub PictureBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.Click + PictureBox1.Visible = False + btnDocDownload.Visible = False + btnViewLicense.Visible = False + TabControl1.SelectedTab = saveTab + End Sub + + Private Sub btnDocDownload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDocDownload.Click + Dim webclient As New System.Net.WebClient() + Dim docName As String = "SpineOMatic_" & somVersion & "_documentation.doc" + Try + webclient.DownloadFile(updatePath.Text & docName, mypath & docName) + Process.Start(mypath & docName) + Catch ex As Exception + MsgBox("Unable to download documentation file: " & docName & vbCrLf & vbCrLf _ + & "Error: " & ex.Message, MsgBoxStyle.Exclamation, "Download Error") + End Try + End Sub + + Private Sub btnViewLicense_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnViewLicense.Click + Dim acceptmsg As String = "" + Dim stars = "***********************************************************************" + Try + configText.Text = getLicense() + acceptmsg = configText.Lines(0) + acceptmsg = stars & vbCrLf & acceptmsg & vbCrLf & stars & vbCrLf & vbCrLf + writeFile(mypath & "license.txt", acceptmsg & licenseAgreement.Text, False) + Process.Start(mypath & "license.txt") + Catch ex As Exception + MsgBox("An error occurred while trying to display the license text in Notepad." & vbCrLf & _ + "Error message: " & ex.Message, MsgBoxStyle.Exclamation, "License Display Error") + End Try + End Sub + + Private Sub FTPInfo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FTPInfo.Click + If FTPInfo.Text = "Info" Then + FTPHelp.Visible = True + FTPInfo.Text = " X" + FTPInfo.ForeColor = Color.Red + Else + FTPHelp.Visible = False + FTPInfo.Text = "Info" + FTPInfo.ForeColor = Color.Blue + End If + End Sub + + Private Sub useExlibrisParsing_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles useExlibrisParsing.CheckedChanged + If useExlibrisParsing.Checked Then + parsingSource.Enabled = True + inCallNumSource.Enabled = False + Else + parsingSource.Enabled = False + inCallNumSource.Enabled = True + End If + End Sub + + Private Sub chkIncludeHoldings_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkIncludeHoldings.CheckedChanged + If chkIncludeHoldings.Checked Then + inIssueLevelSource.Enabled = True + Else + inIssueLevelSource.Enabled = False + End If + End Sub + Private Sub chkIncludeOther_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkIncludeOther.CheckedChanged + If chkIncludeOther.Checked Then + inOtherSource.Enabled = True + Else + inOtherSource.Enabled = False + End If + End Sub + + Private Sub XMLPath_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles XMLPath.TextChanged + If Trim(XMLPath.Text = "") Then + btnMonitor.Enabled = False + Else + btnMonitor.Enabled = True + End If + End Sub + + Private Sub btnMonitor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMonitor.Click + If Trim(XMLPath.Text) = "" Then Exit Sub + If Directory.Exists(XMLPath.Text) Then + FileSystemWatcher1.Path = XMLPath.Text + MsgBox("The directory" & vbCrLf & XMLPath.Text & vbCrLf & "will be monitored for the arrival of new barcode XML files.", MsgBoxStyle.Information, "Directory Monitor") + btnMonitor.Enabled = False + Else + MsgBox("The directory " & vbCrLf & XMLPath.Text _ + & vbCrLf & "does not exist." & _ + vbCrLf & "Enter the name of an existing directory.", _ + MsgBoxStyle.Exclamation, "Directory Monitor") + XMLPath.Focus() + End If + End Sub + + Private Sub usrname_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles usrname.KeyPress + If e.KeyChar = ControlChars.Cr Then + e.Handled = True + If usrname.Text = "" Then + Beep() + usrname.BackColor = Color.Pink + Exit Sub + End If + usrname.BackColor = Color.White + OutputBox.Text = "" + usrname.Text = usrname.Text.ToUpper + InputBox.Focus() + End If + If usrname.Text.Length > 7 Then 'if usrname 8 chars or more, + If Asc(e.KeyChar) <> 8 Then 'allow backspace, even if username = 8 chars + e.Handled = True 'if not backspace, ignore the character, + Beep() 'and beep + End If + End If + + End Sub + + Private Function obscure(ByVal txtin As String) As String + Dim res As String = "" + Dim i, j As Integer + Dim key As String = Chr(10) & Chr(11) & Chr(12) & Chr(13) & Chr(14) & Chr(15) & Chr(16) & Chr(17) + For i = 1 To txtin.Length + j = (key.Length - 1) Mod i + res = res & Chr(Asc(Mid$(key, j + 1, 1)) Xor Asc(Mid$(txtin, i, 1))) + Next i + Return res + End Function + + Private Sub btn_addALT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_addALT.Click + If altText.Text <> "" Then + If altText.Text.Contains("+") And altText.Text.Contains("=") Then + altText.Text = altText.Text.Replace(" +", "+").Replace("+ ", "+").Replace(" =", "=").Replace("= ", "=") + altList.Items.Add(altText.Text) + altText.Text = "" + madeALTchanges = True + btn_saveALT.ForeColor = Color.Red + Else + Beep() + MsgBox("Each entry must contain a plus sign (+) and an equal sign (=) following " & vbCrLf & _ + "the Library name and the Location name, respectively.", MsgBoxStyle.Exclamation, "Missing + or = Signs") + altText.Focus() + End If + End If + End Sub + + Private Sub btn_cancelALT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_cancelALT.Click + altText.Text = "" + altList.Enabled = True + btn_changeALT.Enabled = False + btn_deleteALT.Enabled = False + 'btn_cancelALT.Enabled = False + End Sub + + Private Sub btn_deleteALT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_deleteALT.Click + altList.Items.RemoveAt(altList.SelectedIndex) + altText.Text = "" + altList.Enabled = True + madeALTchanges = True + btn_changeALT.Enabled = False + btn_deleteALT.Enabled = False + 'btn_cancelALT.Enabled = False + btn_saveALT.ForeColor = Color.Red + End Sub + + Private Sub btn_changeALT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_changeALT.Click + Dim saveidx As Integer = altList.SelectedIndex + If altText.Text <> "" Then + If altText.Text.Contains("+") And altText.Text.Contains("=") Then + altList.Enabled = True + altList.Items.RemoveAt(saveidx) + altList.Items.Insert(saveidx, altText.Text) + altText.Text = "" + madeALTchanges = True + btn_changeALT.Enabled = False + btn_deleteALT.Enabled = False + 'btn_cancelALT.Enabled = False + btn_saveALT.ForeColor = Color.Red + Else + Beep() + MsgBox("Each entry must contain a plus sign (+) and an equal sign (=) following " & vbCrLf & _ + "the Library name and the Location name, respectively.", MsgBoxStyle.Exclamation, "Missing + or = Signs") + altText.Focus() + End If + End If + + End Sub + + Private Sub altList_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles altList.DoubleClick + If radio_useLocal.Checked = False Then Exit Sub + btn_changeALT.Enabled = True + btn_deleteALT.Enabled = True + btn_cancelALT.Enabled = True + altText.Text = altList.Items(altList.SelectedIndex) + altList.Enabled = False + End Sub + + Private Sub updateLabelText(ByVal fname As String) + Dim filetext As String = "" + Dim i As Integer = 0 + + If altList.Items.Count <= 0 Then Exit Sub + For i = 0 To altList.Items.Count - 1 + filetext = filetext & altList.Items.Item(i) & vbCrLf + Next + writeFile(fname, filetext, False) + Application.DoEvents() + loadLabelText() + + End Sub + Private Sub hideALTedit() + Label44.Visible = False + Label54.Visible = False + btn_addALT.Visible = False + btn_changeALT.Visible = False + btn_deleteALT.Visible = False + btn_cancelALT.Visible = False + btn_saveALT.Visible = False + altText.Visible = False + End Sub + Private Sub showALTedit() + Label44.Visible = True + Label54.Visible = True + btn_addALT.Visible = True + btn_changeALT.Visible = True + btn_deleteALT.Visible = True + btn_cancelALT.Visible = True + btn_saveALT.Visible = True + altText.Visible = True + End Sub + + Private Sub radio_useLocal_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles radio_useLocal.CheckedChanged + If warranty_accepted = False Then Exit Sub + If radio_useLocal.Checked = True Then + altURL.BackColor = Color.White + ALTfile = "myLabelText.txt" + showALTedit() + Else + If madeALTchanges = True Then + Dim box = MessageBox.Show("Changes to your local label text file have not been saved." & vbCrLf & _ + "Do you want to save them now?", "Save Settings", MessageBoxButtons.YesNo, MessageBoxIcon.Question) + If box = box.Yes Then + btn_saveALT.PerformClick() + MsgBox("Changes to your local label text file have been saved.", MsgBoxStyle.Information, "Settings Saved") + madeALTchanges = False + End If + End If + ALTfile = "aboveLabel.txt" + hideALTedit() + End If + loadLabelText() + End Sub + + Private Sub btn_saveALT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_saveALT.Click + updateLabelText(mypath & ALTfile) + btn_saveALT.ForeColor = Color.Black + madeALTchanges = False + End Sub + + Private Sub chkRequireUser_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkRequireUser.CheckedChanged + If chkRequireUser.Checked Then + usrname.Enabled = True + usrname.ForeColor = Color.Blue + usrname.Text = "" + OutputBox.Font = New Font("MS Sans Serif", 9, FontStyle.Regular) + OutputBox.Text = usermessage + usrname.BackColor = Color.Yellow + usrname.Focus() + Else + usrname.Enabled = False + usrname.ForeColor = Color.Gray + usrname.BackColor = Color.White + usrname.Text = "[none]" + OutputBox.Text = "" + End If + End Sub + + Private Sub station_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles station.TextChanged + lblStation.Text = station.Text + End Sub + + Private Sub buildStatRec() + + Dim dt As String = DateTime.Now.ToString("yyyyMMdd", CultureInfo.CurrentCulture) + 'MsgBox("date: " & dt & " to short date string: " & DateTime.Now.ToShortDateString) + Dim tm As String = DateTime.Now.ToString("HHmmss", CultureInfo.CurrentCulture) + Dim parse As String = "" + If useExlibrisParsing.Checked Then parse = "ExL" Else parse = "SoM" + Try + statrec = dt & vbTab & _ + tm & vbTab & _ + station.Text & vbTab & _ + usrname.Text & vbTab & _ + lastbc & vbTab & _ + parse & vbTab & _ + cntype & vbTab & _ + almaReturnCode & vbTab & _ + almaLibrary & vbTab & _ + almaLocation + Catch ex As Exception + MsgBox("Error writing statistics record --" & ex.Message) + End Try + 'MsgBox("almaLibrary: " & almaLibrary & " -- almaLocation: " & almaLocation) + lastbc = "" + parse = "" + cntype = "" + almaReturnCode = "" + almaLibrary = "" + almaLocation = "" + End Sub + + Private Sub writeStat(ByVal result As String) + 'result = P if spine label has been printed, or "S" if the records has been scanned only + If statrec <> "" Then + statrec = statrec & vbTab & result + 'MsgBox("writing: " & statrec) + writeFile(mypath & "activity_log.txt", statrec, True) + statrec = "" + End If + End Sub + + Private Sub btnScan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnScan.Click + Dim itm As String + Dim tda As Array + Dim tmp As Array + Dim i As Integer + Dim cnt(5000) As Integer : For i = 0 To 99 : cnt(i) = 0 : Next + Dim idx As Integer + Dim sr As StreamReader + Dim fs As FileStream + Dim lodate As String + Dim hidate As String + Dim hr As String = "" + Dim dt As String = "" + Dim dte As DateTime + Dim fld As Integer = 0 + Dim arg As String = "" + Dim tot As Integer = 0 + Dim thisrep As Integer = 0 + Dim colheading As String = "" + Dim trimsort As Array + Dim infile As String = "activity_log.txt" + Dim geolist As String = "" + Dim cntIP As Array + Dim idxIP As Integer = 0 + Dim quot As String = """" + Dim cidate As String = "" + Dim latlong As String = "" + + If Not logView Then + If (Not File.Exists(mypath & infile)) Then + Dim sw As StreamWriter = File.CreateText(mypath & "activity_log.txt") + sw.Close() + End If + + Else + infile = "somlog.log" + + End If + + STL.Items.Clear() + + fs = New FileStream(mypath & infile, FileMode.Open) + sr = New StreamReader(fs) + itm = sr.ReadLine() + statsOut.Text = " " & "SpineOMatic Labeling Activity Report -- From " & fromScan.Value & " to " & toScan.Value & " -- Station: " & station.Text & "~" + + dte = Convert.ToDateTime(fromScan.Value, CultureInfo.CurrentCulture) + lodate = dte.ToString("yyyyMMdd", CultureInfo.CurrentCulture) + dte = Convert.ToDateTime(toScan.Value, CultureInfo.CurrentCulture) + hidate = dte.ToString("yyyyMMdd", CultureInfo.CurrentCulture) + + If radioByUser.Checked Then fld = 3 : colheading = radioByUser.Text.Replace("By ", "") + If radioByLibrary.Checked Then fld = 8 : colheading = radioByLibrary.Text.Replace("By ", "") + If radioByLocation.Checked Then fld = 9 : colheading = radioByLocation.Text.Replace("By ", "") + If radioSearch.Checked Then + If searchArg.Text = "" Then + statsOut.Text = statsOut.Text & "No filter" & vbCrLf & vbCrLf + Else + statsOut.Text = statsOut.Text & "Filtered by: " & searchArg.Text & vbCrLf & vbCrLf + End If + If logView Then + statsOut.Text = statsOut.Text & " Date & Time" & vbTab & "IP" & vbTab & vbCrLf & "Hostname" & vbTab & "File" & vbCrLf + Else + statsOut.Text = statsOut.Text & " Date & Time" & vbTab & "User" & vbTab & "Barcode" & vbTab & "Library" & vbTab & "Location" & vbCrLf + End If + End If + Try + Do While Not itm Is Nothing + If itm.Length < 20 Then itm = sr.ReadLine() : Continue Do + + If Not logView Then + tda = Split(itm, vbTab) + Else + tda = Split("" & vbTab & "" & vbTab & "" & vbTab & "" & vbTab & "" & vbTab & "" & vbTab & "" & vbTab & "" & vbTab & "" & vbTab & "" & vbTab, vbTab) + tmp = Split(itm, vbTab) + tda(0) = tmp(0) + tda(1) = tmp(1) + tda(2) = "weblog" + tda(3) = tmp(2) + tda(7) = tmp(5) + tda(8) = tmp(3) + tda(9) = tmp(4) + End If + + If tda(0) < lodate Then itm = sr.ReadLine() : Continue Do + If Not logView And Not inclScanned.Checked Then + If tda(10) = "S" Then + itm = sr.ReadLine() + Continue Do + End If + End If + If tda(0) > hidate Then Exit Do + tot = tot + 1 + If tda(7) <> "OK" Then tda(8) = "***" & tda(7) & "***" : tda(9) = "***" & tda(7) & "***" + If radioSearch.Checked Then + dt = Mid$(tda(0), 5, 2) & "/" & Mid$(tda(0), 7, 2) & "/" & Mid$(tda(0), 1, 4) + cidate = Date.ParseExact(dt, "d", CultureInfo.InvariantCulture) + hr = Mid$(tda(1), 1, 2) & ":" & Mid$(tda(1), 3, 2) & ":" & Mid$(tda(1), 5, 2) + ' If logView And chkAddHostname.Checked Then tda(4) = resolveIP(tda(3)) + arg = cidate & " " & hr & vbTab & tda(3) & vbTab & tda(4) & vbTab & tda(8) & vbTab & tda(9) + If searchArg.Text = "" Then + statsOut.Text = statsOut.Text & arg & vbCrLf + thisrep = thisrep + 1 + Else + If arg.Contains(searchArg.Text) Then + statsOut.Text = statsOut.Text & arg & vbCrLf + thisrep = thisrep + 1 + End If + End If + Else + arg = tda(fld) + If STL.FindStringExact(arg) <> -1 Then + idx = STL.FindStringExact(arg) + cnt(idx) = cnt(idx) + 1 + Else + idx = STL.Items.Add(arg) + cnt(idx) = 1 + End If + End If + + itm = sr.ReadLine() + Loop + Catch ex As Exception + MsgBox("Error in reporting system -- " & ex.Message, MsgBoxStyle.Critical, "Program Error") + End Try + sr.Close() + fs.Close() + If Not radioSearch.Checked Then thisrep = STL.Items.Count + If inclScanned.Checked Then + statsOut.Text = statsOut.Text.Replace("~", vbCrLf & " Total codes scanned and labels printed in date range: " & tot & " -- Lines in this report: " & thisrep & vbCrLf & vbCrLf) + Else + statsOut.Text = statsOut.Text.Replace("~", vbCrLf & " Total labels printed in date range: " & tot & " -- Lines in this report: " & thisrep & vbCrLf & vbCrLf) + End If + If radioSearch.Checked Then Exit Sub + + statsOut.Text = statsOut.Text & vbTab & "Count" & vbTab & colheading & vbCrLf + + sortSTL.Items.Clear() + sortSTL.Sorted = False + For i = 0 To STL.Items.Count - 1 + If byCount.Checked Then + sortSTL.Items.Add(String.Format("{0,6:######}", 999999 - cnt(i)) & "|" & String.Format("{0,6:######}", cnt(i)) & vbTab & STL.Items(i)) + Else + sortSTL.Items.Add(Mid$(STL.Items(i) & Space(30), 1, 30) & "|" & String.Format("{0,6:######}", cnt(i)) & vbTab & STL.Items(i)) + End If + Next + + ispList.Items.Clear() + sortSTL.Sorted = True + Dim LL As Array + Dim locText As String = "" + For i = 0 To sortSTL.Items.Count - 1 + locText = "" + trimsort = Split(sortSTL.Items(i), "|") + If chkAddHostname.Checked Then + cntIP = Split(trimsort(1), vbTab) + latlong = getLatLong(cntIP(1)) + If latlong = "** can't connect **" Then + MsgBox("Can't connect to IP resolver.") + Exit Sub + Else + LL = Split(latlong, "|") + If LL.Length > 4 Then + locText = LL(2) & "/" & LL(3) & "/" & LL(4) & "/" & LL(5) + End If + Dim tloc As String = "" + tloc = LL(5) & " (" & LL(2) & "/" & LL(3) & "/" & LL(4) & ")" + If showIsp.Checked And Not ispList.Items.Contains(tloc) Then + ispList.Items.Add(tloc) + End If + End If + geolist = geolist & "field[" & i & "]=" & quot & latlong & quot & ";" & vbCrLf + End If + statsOut.Text = statsOut.Text & vbTab & trimsort(1) & vbTab & locText & vbCrLf + Next + + If chkGeoList.Checked Then + geolist = geolist & vbCrLf & "document.getElementById(" & quot & "usr" & quot & ").innerHTML = " & quot & "From " & fromScan.Value & " to " & toScan.Value & quot & ";" + writeFile(mypath & "geoinfo.txt", geolist, False) + Dim framein As String = "" + Dim tr As TextReader = New StreamReader(mypath & "geoframe.txt") + framein = tr.ReadToEnd() + tr.Close() + 'MsgBox(framein) + framein = framein.Replace("//insert_geolist", geolist) + writeFile(mypath & "sommap.html", framein, False) + Dim startInfo As New ProcessStartInfo(mypath & "sommap.html") + Dim p As Process + 'startInfo.WindowStyle = ProcessWindowStyle.Hidden 'makes sure entire process is invisible + 'startInfo.Arguments = FTPip.Text 'the IP address is passed to ftpbat.bat as an argument + p = Process.Start(startInfo) 'tell Windows to start the batch file + End If + If showIsp.Checked Then + statsOut.Text = "" + For i = 0 To ispList.Items.Count - 1 + statsOut.Text = statsOut.Text & ispList.Items(i) & vbCrLf + Next + End If + End Sub + + + Private Sub radio_useSystem_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles radio_useSystem.CheckedChanged + If settingsLoaded = False Then Exit Sub + If radio_useSystem.Checked Then + If altURL.Text = "" Then + MsgBox("To use the system file, provide a URL to the web folder" & vbCrLf & _ + "where the 'aboveLabel.txt' file can be found, and click 'Download'.", MsgBoxStyle.Information, "Use System File") + altURL.BackColor = Color.Yellow + altURL.Focus() + End If + End If + End Sub + + Private Sub UseJavaApp_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UseJavaApp.CheckedChanged + If settingsLoaded Then + If UseJavaApp.Checked Then + DownloadJavaComponents() + End If + End If + End Sub + + Private Sub getWebLog() + Dim webClient As New System.Net.WebClient + Dim webRequest As String = "" + Dim result As String = "" + Try + 'webRequest = "http://arc.bc.edu:8080/Getfile/get?file=somlog.log" + webRequest = updatePath.Text & "somlog.log" + webClient.DownloadFile(webRequest, mypath & "somlog.log") + OutputBox.Text = OutputBox.Text & vbCrLf & "Web log loaded" + radioByUser.Text = "By IP" + radioByLibrary.Text = "By Hostname" + radioByLocation.Text = "By Filename" + TabControl1.SelectedTab = TabPage6 + openSettings() + logView = True + Catch ex As Exception + MsgBox("Web log download error: " & ex.Message, MsgBoxStyle.Exclamation, "Download Error") + Exit Sub + End Try + End Sub + Private Sub logByHostname() + Dim fs As FileStream + Dim sr As StreamReader + Dim itm As String + Dim i As Integer + Dim cnt(100) As Integer : For i = 0 To 99 : cnt(i) = 0 : Next + Dim dte As DateTime + Dim arg As String + Dim lodate As String + Dim hidate As String + Dim idx As Integer + Dim fld, trimsort As Array + + statsOut.Text = " " & "SpineOMatic Web Activity Log -- From " & fromScan.Value & " to " & toScan.Value & " -- Station: " & station.Text & "~" & vbCrLf + + If (Not File.Exists(mypath & "somlog.log")) Then + MsgBox("No log file has been downloaded.") + Exit Sub + End If + dte = Convert.ToDateTime(fromScan.Value, CultureInfo.InvariantCulture) + lodate = dte.ToString("yyyyMMdd", CultureInfo.InvariantCulture) + dte = Convert.ToDateTime(toScan.Value, CultureInfo.InvariantCulture) + hidate = dte.ToString("yyyyMMdd", CultureInfo.InvariantCulture) + STL.Items.Clear() + + fs = New FileStream(mypath & "somlog.log", FileMode.Open) + sr = New StreamReader(fs) + itm = sr.ReadLine() + + Do While Not itm Is Nothing + fld = Split(itm, vbTab) + If fld(0) < lodate Then itm = sr.ReadLine() : Continue Do + If fld(0) > hidate Then Exit Do + arg = fld(2) 'hostname + If STL.FindStringExact(arg) <> -1 Then + idx = STL.FindStringExact(arg) + cnt(idx) = cnt(idx) + 1 + Else + idx = STL.Items.Add(arg) + cnt(idx) = 1 + End If + + itm = sr.ReadLine() + Loop + + sr.Close() + fs.Close() + sortSTL.Items.Clear() + sortSTL.Sorted = False + For i = 0 To STL.Items.Count - 1 + If byCount.Checked Then + sortSTL.Items.Add(String.Format("{0,6:######}", 999999 - cnt(i)) & "|" & String.Format("{0,6:######}", cnt(i)) & vbTab & STL.Items(i)) + Else + sortSTL.Items.Add(Mid$(STL.Items(i) & Space(30), 1, 30) & "|" & String.Format("{0,6:######}", cnt(i)) & vbTab & STL.Items(i)) + End If + Next + + sortSTL.Sorted = True + For i = 0 To sortSTL.Items.Count - 1 + trimsort = Split(sortSTL.Items(i), "|") + statsOut.Text = statsOut.Text & vbTab & trimsort(1) & vbCrLf + Next + End Sub + + Private Sub LoadDefaults(ByVal t As TextBox) + Dim val As Array + val = Split(t.Text, "|") + inTopMargin.Text = val(0) + inLeftMargin.Text = val(1) + inLineSpacing.Text = val(2) + inLabelWidth.Text = val(3) + inGapWidth.Text = val(4) + inLabelHeight.Text = val(5) + inGapHeight.Text = val(6) + inLabelRows.Text = val(7) + inLabelCols.Text = val(8) + inMaxLines.Text = val(9) + inMaxChars.Text = val(10) + usePortrait.Checked = CType(val(11), Boolean) + useLandscape.Checked = Not CType(val(11), Boolean) + If CustomLabel.Checked Then + CustomText.Text = val(12) + CustomText.Enabled = True + Else + CustomText.Enabled = False + End If + End Sub + Private Sub SaveDefaults(ByVal t As TextBox) + t.Text = inTopMargin.Text + t.Text = t.Text & "|" & inLeftMargin.Text + t.Text = t.Text & "|" & inLineSpacing.Text + t.Text = t.Text & "|" & inLabelWidth.Text + t.Text = t.Text & "|" & inGapWidth.Text + t.Text = t.Text & "|" & inLabelHeight.Text + t.Text = t.Text & "|" & inGapHeight.Text + t.Text = t.Text & "|" & inLabelRows.Text + t.Text = t.Text & "|" & inLabelCols.Text + t.Text = t.Text & "|" & inMaxLines.Text + t.Text = t.Text & "|" & inMaxChars.Text + If usePortrait.Checked Then + t.Text = t.Text & "|" & "true" + Else + t.Text = t.Text & "|" & "false" + End If + 'If CustomLabel.Checked Then + t.Text = t.Text & "|" & CustomText.Text + 'End If + End Sub + + Public Function GetJavaVersionInfo() As String + Dim ermsg As String = "" + 'Const quote As String = """" + Dim mpath As String = mypath + Dim noslash As String = Mid$(mypath, 1, mypath.Length - 1) + + Try + Dim procStartInfo As New System.Diagnostics.ProcessStartInfo("java", "-cp " & """" & noslash & """" & " " & javaTest) + + procStartInfo.RedirectStandardOutput = True + procStartInfo.RedirectStandardError = True + procStartInfo.UseShellExecute = False + procStartInfo.CreateNoWindow = True + Dim proc As System.Diagnostics.Process = New Process() + proc.StartInfo = procStartInfo + proc.Start() + 'Return proc.StandardError.ReadToEnd() + ermsg = proc.StandardError.ReadToEnd() + If ermsg <> "" Then + If ermsg.Contains("find or load") Then + Return "The Java test program (" & javaTest & ") was not downloaded." & vbCrLf & "Unable to perform test." + Else + Return "Unknown error: " & ermsg + End If + Else + Return proc.StandardOutput.ReadToEnd().Replace(vbCr, vbCrLf) + End If + Catch ex As Exception + If ex.Message.Contains("cannot find the file") Then + Return "Java is not installed, or is not accessible." & vbCrLf & vbCrLf & _ + "Please report this problem to your local systems support staff." + End If + End Try + Return "unknown error" + End Function + + Private Sub tips_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tips.CheckedChanged + If tips.Checked Then + ToolTip1.Active = True + Else + ToolTip1.Active = False + End If + + End Sub + + Private Sub javaCheck_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles javaCheck.Click + javabox.Text = "" + Application.DoEvents() + javabox.Text = GetJavaVersionInfo() + End Sub + + Private Function getLatLong2(ByVal ip As String) As String + Dim webclient As New System.Net.WebClient + Dim locxml As String = "" + Dim hn As String = searchArg.Text + 'Dim host As IPHostEntry + Dim xdoc As New System.Xml.XmlDocument + Dim xfield As String = "" + Static Dim cnissue As String = "" + 'host = Dns.GetHostEntry(hn) + If cnissue = "x" Then Return "** can't connect **" + Try + locxml = webclient.DownloadString("http://freegeoip.net/xml/" & ip) + xdoc.LoadXml(locxml) + xfield = xdoc.SelectSingleNode("//Response/Latitude").InnerText + xfield = xfield & "|" & xdoc.SelectSingleNode("//Response/Longitude").InnerText + xfield = xfield & "|" & xdoc.SelectSingleNode("//Response/CountryName").InnerText + xfield = xfield & "|" & xdoc.SelectSingleNode("//Response/RegionName").InnerText + xfield = xfield & "|" & xdoc.SelectSingleNode("//Response/City").InnerText + Catch ex As Exception + 'MsgBox("Unable to connect to server") + cnissue = "x" + Return "** can't connect **" + End Try + 'MsgBox(host.HostName & vbCrLf & vbCrLf & locxml) + Return xfield + End Function + Private Function getLatLong(ByVal ip As String) As String + Dim webclient As New System.Net.WebClient + Dim locxml As String = "" + Dim hn As String = searchArg.Text + 'Dim host As IPHostEntry + Dim xdoc As New System.Xml.XmlDocument + Dim xfield As String = "" + Static Dim cnissue As String = "" + Dim ans As String = "" + 'host = Dns.GetHostEntry(hn) + If cnissue = "x" Then Return "** can't connect **" + Try + locxml = webclient.DownloadString("http://www.telize.com/geoip/" & ip) + locxml = locxml.Replace("{", "").Replace("}", ",") + + xfield = getjson("latitude", locxml) & "|" & getjson("longitude", locxml) & _ + "|" & getjson("country", locxml) & "|" & getjson("region", locxml) & "|" & _ + getjson("city", locxml) & "|" & getjson("isp", locxml) + Catch ex As Exception + MsgBox("Unable to connect to server" & vbCrLf & "Error: " & ex.Message) + cnissue = "x" + Return "** can't connect **" + End Try + 'MsgBox(host.HostName & vbCrLf & vbCrLf & locxml) + + Return xfield + End Function + + Private Function getjson(ByVal lookup As String, ByVal json As String) + Dim quot = """" + Dim pos As Integer = 0 + Dim ans As String = "" + pos = InStr(json, lookup & quot, CompareMethod.Text) + + If pos <> 0 Then + ans = BTween(json.Substring(pos), ":", ",") + Return ans.Replace(quot, "") + End If + Return "unknown" + End Function + Private Function BTween(ByVal t As String, ByVal a As String, ByVal b As String) As String + Dim pos1, pos2 As Integer + Dim len_a As Integer = a.Length + pos1 = t.IndexOf(a) + len_a '1 + pos2 = t.IndexOf(b, pos1) + If pos1 = -1 Or pos2 = -1 Then Return "?" + Return t.Substring(pos1, pos2 - pos1) + End Function + Private Function xmlValue(ByVal node_in) As String + Dim xfield As String = "" + Dim prefix As String = "" + Dim orig_node As String = node_in.ToString + Dim node As String = "" + Dim er As String = "" + Dim text_node As String + prefix = "//printout/section-01/physical_item_display_for_printing" + text_node = orig_node + node = prefix & orig_node.Replace("<", "/").Replace(">", "") + Try + xfield = xdoc.SelectSingleNode(node).InnerText + Catch ex As Exception + If Not node.Contains("parsed_") Then 'call_number") Then + + Beep() + If ex.Message.Contains("Object reference not set") Then + er = orig_node & " is not in the XML record." + Else + If ex.Message.Contains("invalid token") Then + er = orig_node & " contains an unexpected character." + Else + er = "Error in " & orig_node & ": " & vbCrLf & vbCrLf & ex.Message + End If + End If + + If chkXMLWarning.Checked Then + MsgBox(er & vbCrLf & vbCrLf & _ + "Check and correct the value.", MsgBoxStyle.Exclamation, "Invalid XML Field Name") + Else + lblXMLWarn.Visible = True + xmlerr = xmlerr & er & vbCrLf + End If + End If + xfield = "" + End Try + 'MsgBox("xfield:" & xfield) + 'MsgBox("xfield returned:" & xfield.Replace("|amp", "&").Replace("|lt;", "<")) + Return xfield.Replace("|amp", "&").Replace("&", "&").Replace("|lt;", "<") + End Function + Private Sub getnodes() + For Each node As XmlNode In xdoc.SelectNodes("/printout/section-01/physical_item_display_for_printing/*") + + Next + End Sub + Private Sub Spine_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Spine.CheckedChanged + If Not settingsLoaded Then Exit Sub + If Spine.Checked Then + saveCurrentDefaults() + LoadDefaults(spineDefaults) + pocketDefaultLoaded = False + spineDefaultLoaded = True + customFlagDefaultLoaded = False + customNonFlagDefaultLoaded = False + End If + End Sub + + Private Sub CustomLabel_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CustomLabel.CheckedChanged + If Not settingsLoaded Then Exit Sub + If CustomLabel.Checked Then + FlagSlips.Enabled = True + saveCurrentDefaults() + If FlagSlips.Checked Then + LoadDefaults(flagDefaults) + wrapWidth.Text = flagWrapWidth.Text + pocketDefaultLoaded = False + spineDefaultLoaded = False + customFlagDefaultLoaded = True + customNonFlagDefaultLoaded = False + Else + LoadDefaults(nonFlagDefaults) + wrapWidth.Text = nonFlagWrapWidth.Text + pocketDefaultLoaded = False + spineDefaultLoaded = False + customFlagDefaultLoaded = False + customNonFlagDefaultLoaded = True + End If + Else + FlagSlips.Enabled = False + End If + End Sub + + Private Sub FlagSlips_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FlagSlips.CheckedChanged + If Not settingsLoaded Then Exit Sub + saveCurrentDefaults() + If FlagSlips.Checked Then + LoadDefaults(flagDefaults) + wrapWidth.Text = flagWrapWidth.Text + pocketDefaultLoaded = False + spineDefaultLoaded = False + customFlagDefaultLoaded = True + customNonFlagDefaultLoaded = False + Else + LoadDefaults(nonFlagDefaults) + wrapWidth.Text = nonFlagWrapWidth.Text + pocketDefaultLoaded = False + spineDefaultLoaded = False + customFlagDefaultLoaded = False + customNonFlagDefaultLoaded = True + End If + End Sub + Private Sub chkUsePocketLabels_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkUsePocketLabels.CheckedChanged + If Not settingsLoaded Then Exit Sub + If chkUsePocketLabels.Checked Then + PocketLabelPanel.Location = New Point(0, 30) + PocketLabelPanel.Width = TabPage2.Size.Width + PocketLabelPanel.Height = TabPage2.Size.Height - 30 + PocketLabelPanel.Visible = True + + saveCurrentDefaults() + LoadDefaults(pocketDefaults) + pocketDefaultLoaded = True + spineDefaultLoaded = False + customFlagDefaultLoaded = False + customNonFlagDefaultLoaded = False + + Else + PocketLabelPanel.Visible = False + 'save pocket label defaults & load whatever was previously saved + saveCurrentDefaults() + If Spine.Checked Then + LoadDefaults(spineDefaults) + pocketDefaultLoaded = False + spineDefaultLoaded = True + customFlagDefaultLoaded = False + customNonFlagDefaultLoaded = False + Else + CustomLabel.Checked = Not CustomLabel.Checked + CustomLabel.Checked = Not CustomLabel.Checked + End If + End If + refreshFTP() + InputBox.Focus() + End Sub + + Private Sub Label71_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label71.Click + tweakParsingPanel.Visible = False + End Sub + + Private Sub tweakTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tweakTest.Click + tweakParsingPanel.Location = New Point(0, 0) + tweakParsingPanel.Size = TabPage2.Size + tweakParsingPanel.Visible = True + testCallNumType.Text = "0" + End Sub + + Private Sub saveCurrentDefaults() + 'save the margin defaults for the Call Number Format that is currently loaded + If spineDefaultLoaded Then + SaveDefaults(spineDefaults) + 'spineVerticalLine = chk_VerticalLine.Checked + Else + If customFlagDefaultLoaded Then + SaveDefaults(flagDefaults) + flagWrapWidth.Text = wrapWidth.Text + 'flagVerticalLine = chk_VerticalLine.Checked + Else + If customNonFlagDefaultLoaded Then + SaveDefaults(nonFlagDefaults) + nonFlagWrapWidth.Text = wrapWidth.Text + 'nonFlagVerticalLine = chk_VerticalLine.Checked + Else + SaveDefaults(pocketDefaults) + 'pocketVerticalLine = chk_VerticalLine.Checked + End If + End If + End If + End Sub + + Private Sub btnTestParser_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTestParser.Click + If Not settingsLoaded Then Exit Sub + Dim itm As String = "" + itm = testComboBox.Text + If testCallNumType.Text = "" Then + MsgBox("You must specify a Call Number Type", MsgBoxStyle.Information, "No Call Number Type") + Exit Sub + End If + cntype = testCallNumType.Text + If itm.Contains("[LC]") Then itm = itm.Replace("[LC]", "") + If itm.Contains("[LC child. lit]") Then itm = itm.Replace("[LC child. lit]", "") + If itm.Contains("[NLM]") Then itm = itm.Replace("[NLM]", "") + If itm.Contains("[Dewey]") Then itm = itm.Replace("[Dewey]", "") + If itm.Contains("[SuDoc]") Then itm = itm.Replace("[SuDoc]", "") + If itm.Contains("[Other]") Then itm = itm.Replace("[Other]", "") + OutputBox.Font = New Font(inFontName.Text, CType(inFontSize.Text, Single), FontStyle.Regular) + OutputBox.Text = parseLC("*" & itm) + + End Sub + + Private Sub testComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles testComboBox.SelectedIndexChanged + Dim itm As String = "" + itm = testComboBox.Items(testComboBox.SelectedIndex) + If itm.Contains("[LC]") Then testCallNumType.Text = "0" + If itm.Contains("[LC child. lit]") Then testCallNumType.Text = "0" + If itm.Contains("[Dewey]") Then testCallNumType.Text = "1" + If itm.Contains("[NLM]") Then testCallNumType.Text = "2" + If itm.Contains("[SuDoc]") Then testCallNumType.Text = "3" + If itm.Contains("[Other]") Then testCallNumType.Text = "4" + OutputBox.Text = "" + btnTestParser.Focus() + End Sub + + Private Sub lcNumericBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lcNumericBreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub lcDecimalBreakB4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lcDecimalBreakB4.CheckedChanged + btnTestParser.PerformClick() + End Sub + Private Sub lcNoDecimalBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lcNoDecimalBreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub lcCutterBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lcCutterBreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub lcInCutterBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lcInCutterBreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub hideCutterDecimal_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hideCutterDecimal.CheckedChanged + btnTestParser.PerformClick() + End Sub + + + Private Sub testCallNumType_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles testCallNumType.TextChanged + If Not settingsLoaded Then Exit Sub + Dim tct As String = "" + If Trim(testCallNumType.Text) = "" Then + tct = convertBlankTo.Text '"blank" + testCallNumType.Text = tct + Else + tct = testCallNumType.Text + End If + + If lcType.Text.Contains(tct) Then + TabControl2.SelectedTab = TabPage7 + Else + If DeweyType.Text.Contains(tct) Then + TabControl2.SelectedTab = TabPage8 + Else + If sudocType.Text.Contains(tct) Then + TabControl2.SelectedTab = TabPage10 + Else + If otherType.Text.Contains(tct) Then + TabControl2.SelectedTab = TabPage11 + Else + MsgBox("Call number type " & testCallNumType.Text & " is not handled by any parsing routine.") + End If + End If + End If + End If + End Sub + + Private Sub sudocBreakDecimal_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) + btnTestParser.PerformClick() + End Sub + + Private Sub sudocBreakBeforeColon_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) + btnTestParser.PerformClick() + End Sub + + Private Sub sudocBreakAfterColon_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) + btnTestParser.PerformClick() + End Sub + + Private Sub sudocSlashBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) + btnTestParser.PerformClick() + End Sub + + Private Sub sudocDashBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) + btnTestParser.PerformClick() + End Sub + Private Sub sudocOtherNoBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sudocOtherNoBreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub sudocCharBreakB4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sudocCharBreakB4.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub sudocRemoveAfter_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sudocRemoveAfter.CheckedChanged + btnTestParser.PerformClick() + End Sub + Private Sub deweyDecimalBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles deweyDecimalBreakb4.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub deweyCutterBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) + btnTestParser.PerformClick() + End Sub + + Private Sub deweyInCutterBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles deweyCutterBreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub TabControl2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabControl2.SelectedIndexChanged + Exit Sub + If TabControl2.SelectedIndex = 0 Then + testCallNumType.Text = "0" + End If + If TabControl2.SelectedIndex = 1 Then + testCallNumType.Text = "1" + End If + If TabControl2.SelectedIndex = 2 Then + testCallNumType.Text = "3" + End If + If TabControl2.SelectedIndex = 3 Then + testCallNumType.Text = "4" + End If + End Sub + + Private Sub otherSpaceNoBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles otherSpaceNoBreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub otherAllSpaceBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles otherAllSpaceBreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub othernumnobreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles othernumnobreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub otherListNoBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles otherListNoBreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub otherListBreakb4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles otherListBreakb4.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub othernumbreakb4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles otherNumBreakb4.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub deweyDecimalNoBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles deweyDecimalNoBreak.CheckedChanged + 'btnTestParser.PerformClick() + If deweyDecimalNoBreak.Checked Then + deweyDecBreak.Enabled = True + deweyDigitsToBreak.Enabled = True + Else + deweyDecBreak.Enabled = False + deweyDigitsToBreak.Enabled = False + End If + btnTestParser.PerformClick() + End Sub + + Private Sub deweyCharBreakb4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles deweyCharBreakb4.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub deweyOtherNoBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles deweyOtherNoBreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub deweyPrefixBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles deweyPrefixBreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub sudocNoDecimalBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sudocNoDecimalBreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub sudocNoColonBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sudocNoColonBreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub sudocBreakBeforeColon_CheckedChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sudocBreakBeforeColon.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub sudocSlashNobreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sudocSlashNobreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub sudocDashNoBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sudocDashNoBreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub lcOtherNoBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lcOtherNoBreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub lcOtherBreakB4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lcOtherBreakB4.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub lcRemoveAfter_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lcRemoveAfter.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub deweyRemoveAfter_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles deweyRemoveAfter.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub otherRemoveAfter_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles otherRemoveAfter.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub sudocBreakB4Numerics_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles sudocBreakB4Numerics.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub deweyGroup3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles deweyGroup3.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub deweyDecBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles deweyDecBreak.CheckedChanged + btnTestParser.PerformClick() + End Sub + + Private Sub LabelRepeat_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelRepeat.ValueChanged + If LabelRepeat.Value > 1 And LabelRepeat.Value < 6 Then + LabelRepeat.BackColor = Color.Pink + LabelRepeat.ForeColor = Color.Black + Else + If LabelRepeat.Value > 5 Then + LabelRepeat.BackColor = Color.Red + LabelRepeat.ForeColor = Color.White + Else + LabelRepeat.BackColor = Color.PaleGreen + LabelRepeat.ForeColor = Color.Black + End If + End If + InputBox.Focus() + End Sub + + Private Sub lblXMLWarn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lblXMLWarn.Click + Dim saveOutputBox As String = "" + OutputBox.Text = xmlerr + End Sub + + Private Sub lblToggleAdmin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lblToggleAdmin.Click + If lblToggleAdmin.Text = "u" Then + openSettings() + Else + CloseSettings() + End If + End Sub + + Private Sub TabChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabControl1.SelectedIndexChanged + If TabControl1.SelectedIndex = 0 Then + If chkUsePocketLabels.Checked Then + showLabelType.Text = "Pocket Labels" + Else + If Spine.Checked Then + showLabelType.Text = "Spine Labels" + Else + If FlagSlips.Checked Then + showLabelType.Text = "Custom/Flag Slips" + Else + showLabelType.Text = "Custom Labels" + End If + End If + End If + End If + End Sub + + Private Sub closeFormatInfo_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles closeFormatInfo.Click + formatInfoPanel.Visible = False + End Sub + + Private Sub showFormatInfo_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles showFormatInfo.Click + formatInfoPanel.Visible = True + formatInfoPanel.Focus() + End Sub + + Private Sub btnPlCustom_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlCustom.CheckedChanged + If btnPlCustom.Checked Then + userDefinedPanel.Enabled = True + Else + userDefinedPanel.Enabled = False + End If + End Sub + + Private Function pingServer(ByVal server As String) As Boolean + + 'MsgBox(TabControl2.SelectedTab.Text) + 'Dim p As New NetworkInformation.Ping() + 'Dim rtn As NetworkInformation.PingReply = p.Send("www.uno.edu", 3000) + + 'If rtn.RoundtripTime = 0 Then + ' MsgBox("server unavailable" & rtn.RoundtripTime & _ + ' vbCrLf & rtn.Status) + + 'Else + ' MsgBox("Time: " & rtn.RoundtripTime) + 'End If + If My.Computer.Network.IsAvailable Then + Try + If My.Computer.Network.Ping(server, 5000) Then + pingServer = True + Else + pingServer = False + End If + Catch ex As Exception + pingServer = False + End Try + End If + End Function + + Private Sub ColonBreak_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ColonBreak.CheckedChanged + If ColonBreak.Checked Then + ProtectColon.Enabled = True + Else + ProtectColon.Enabled = False + End If + End Sub + Private Function bcyaInfo() As String + Dim strHostName As String = "" + Dim strIPAddress As String = "" + strHostName = System.Net.Dns.GetHostName() + strIPAddress = System.Net.Dns.GetHostEntry(strHostName).AddressList(0).ToString() + Return "Host Name: " & strHostName & "; IP Address: " & strIPAddress + + End Function + Private Function ipconfig() As String + Dim p As New Process + Dim i As Integer = 0 + Dim ipinfo As String = "" + With p.StartInfo + .FileName = "ipconfig.exe" + .CreateNoWindow = True + .RedirectStandardOutput = True + .RedirectStandardError = True + .UseShellExecute = False + End With + Try + p.Start() + If p.WaitForExit(1500) Then + ipconfig = p.StandardOutput.ReadToEnd + configText.Text = ipconfig + For i = 0 To configText.Lines.Length - 1 + If configText.Lines(i).ToUpper.Contains("IPV4") Then + ipinfo = ipinfo & configText.Lines(i) & vbCrLf + End If + Next + ipconfig = ipinfo + Else + ipconfig = "No IPv4 Returned" + End If + Catch ex As Exception + ipconfig = "Cannot run ipconfig" + End Try + End Function + + Private Sub plDistance_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles plDistance.TextChanged + plDistance.BackColor = Color.White + End Sub + + Private Sub Label62_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbl_setclipboard.Click + If Trim(statsOut.Text) = "" Then + MsgBox("There is no report text to copy to the clipboard.") + Exit Sub + End If + + Try + Clipboard.SetText(statsOut.Text) + Catch ex As Exception + MsgBox("An error occurred when copying text to the Windows clipboard." & vbCrLf & vbCrLf & _ + "Error: " & ex.Message, MsgBoxStyle.Exclamation, "Clipboard Error") + Exit Sub + End Try + copyDone.Text = "...copied" + End Sub + + Private Sub statsOut_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles statsOut.TextChanged + copyDone.Text = "" + End Sub + + Private Sub lbl_copyXMLtext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbl_copyXMLtext.Click + Dim copyXmlHdr As String = "" + Dim settingsText As String = "" + + If includeSettings.Checked Then + Dim settingsFile As String = mypath & "settings.som" + Try + Dim tr As TextReader = New StreamReader(settingsFile) + settingsText = tr.ReadToEnd + settingsText = "*** Settings ***" & vbCrLf & vbCrLf & settingsText + tr.Close() + Catch somEx As Exception + MsgBox("Error reading 'settings.som' file." & vbCrLf & vbCrLf & _ + "Error: " & somEx.Message, MsgBoxStyle.Exclamation, "Settings File Read Error") + settingsText = vbCrLf & vbCrLf & "************** Error reading settings file ****************" + End Try + Else + settingsText = "Settings not requested." + End If + + If Trim(RichTextBox1.Text) = "" Then + MsgBox("There is no text to copy to the clipboard.") + Exit Sub + End If + copyXmlHdr = bcyaInfo() & vbCrLf & Date.Now & vbCrLf & vbCrLf + Try + Clipboard.SetText(copyXmlHdr & RichTextBox1.Text.Replace(vbLf, vbCrLf) & vbCrLf & vbCrLf & settingsText) + Catch ex As Exception + MsgBox("An error occurred when copying text to the Windows clipboard." & vbCrLf & vbCrLf & _ + "Error: " & ex.Message, MsgBoxStyle.Exclamation, "Clipboard Error") + Exit Sub + End Try + xmlCopyDone.Text = "...copied" + End Sub + + Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged + xmlCopyDone.Text = "" + End Sub + + Private Sub includeSettings_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles includeSettings.CheckedChanged + xmlCopyDone.Text = "" + End Sub + + Private Function getHostName(ByVal ip As String) As String + Dim hn As String + Try + hn = System.Net.Dns.GetHostEntry(ip).HostName.ToString + Catch ex As Exception + hn = "(unknown host)" + End Try + Return hn + End Function + + Private Function resolveIP(ByVal ip) As String + 'OutputBox.Text = getHostName(InputBox.Text) + Dim iptext As String = "" + Dim res As String = "" + Dim pos As Integer = 0 + Dim pos2 As Integer = 0 + If File.Exists(mypath & "resolve.txt") Then + File.Delete(mypath & "resolve.txt") + End If + Thread.Sleep(250) + 'lookup(InputBox.Text) + lookup(ip) + Thread.Sleep(550) + iptext = IO.File.ReadAllText(mypath & "resolve.txt") + pos = InStr(iptext, "Name:", CompareMethod.Text) + 5 + If pos < 6 Then + res = "Host Unknown" + Else + pos2 = InStr(pos + 1, iptext, "Address", CompareMethod.Binary) + res = Trim(Mid$(iptext, pos, pos2 - pos)) + End If + 'MsgBox(res) + Return res + End Function + Private Sub lookup(ByVal ip As String) + Dim procInfo As New ProcessStartInfo() + 'procInfo.WindowStyle = ProcessWindowStyle.Hidden + procInfo.UseShellExecute = True + procInfo.FileName = "c:\windows\system32\cmd.exe" + 'MsgBox("ip: " & ip) + 'MsgBox("/c nslookup " & ip & " > resolve.txt") + + procInfo.Arguments = "/c nslookup " & ip & " > resolve.txt" + procInfo.WorkingDirectory = mypath + + procInfo.Verb = "runas" + Process.Start(procInfo) + End Sub + + Private Sub FTPLogin_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FTPLogin.TextChanged + If settingsLoaded Then + ftpArrow.Visible = True + btn_ftpRegister.Visible = True + ftpRegisterMsg.Visible = True + End If + End Sub + + Private Sub btn_ftpRegister_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_ftpRegister.Click + createBatFiles() + ftpArrow.Visible = False + btn_ftpRegister.Visible = False + ftpRegisterMsg.Visible = False + End Sub + + Private Sub FTPPassword_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FTPPassword.TextChanged + If settingsLoaded Then + ftpArrow.Visible = True + btn_ftpRegister.Visible = True + ftpRegisterMsg.Visible = True + End If + End Sub + + Private Sub useDOSBatch_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles useDOSBatch.CheckStateChanged + If useDOSBatch.Checked Then + viaDOSPanel.Location = New Point(4, 16) 'DesktopGroup.Location + viaDOSPanel.Size = New Size(408, 312) 'DesktopGroup.Size + Label35.Visible = False + UseDesktop.Visible = False + UseLaser.Visible = False + UseFTP.Visible = False + orientationPanel.Visible = False + marginPanel.Visible = False + ManualPrint.Text = "Run 'viados' batch file" + ToolTip1.SetToolTip(ManualPrint, "Writes label text to 'label.txt' file, then starts 'viados.bat' batch file.") + ManualPrint.ForeColor = Color.Red + viaDOSPanel.Visible = True + batchDisplay.Text = getdosbatchfile("viados") + batsignal.ForeColor = Color.Green + LabelRepeat.Visible = False + Else + viaDOSPanel.Visible = False + marginPanel.Visible = True + orientationPanel.Visible = True + Label35.Visible = False + UseDesktop.Visible = True + UseLaser.Visible = True + UseFTP.Visible = True + LabelRepeat.Visible = True + SetPrintButtonText() + refreshFTP() + End If + InputBox.Focus() + End Sub + Private Function getdosbatchfile(ByVal batfile) + Dim dostext As String = "" + Dim res As String = "" + If Not File.Exists(mypath & batfile & ".bat") Then + Return "" 'Create your own " & batfile & ".bat batch file." + End If + res = IO.File.ReadAllText(mypath & batfile & ".bat") + res = res.Substring(0, res.Length - 2) + Return res + End Function + + Private Sub viadosSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles viadosSave.Click + writeFile(mypath & "viados.bat", batchDisplay.Text, False) + batsignal.ForeColor = Color.Green + End Sub + + Private Sub batchDisplay_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles batchDisplay.TextChanged + If batsignal.ForeColor = Color.Green Then + batsignal.ForeColor = Color.Red + End If + End Sub + + Private Sub loadViados_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles loadViados.Click + batchDisplay.Text = getdosbatchfile("viados") + batsignal.ForeColor = Color.Green + End Sub + + + Private Sub unitINCH_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles unitINCH.CheckedChanged + Dim ut As String = "" + Dim clr As New Color + If unitCM.Checked Then + ut = "cm." : clr = Color.Maroon + Else + ut = "in." : clr = Color.Blue + End If + inUnits1.Text = ut : inUnits1.ForeColor = clr + inUnits2.Text = ut : inUnits2.ForeColor = clr + Label121.Text = ut : Label121.ForeColor = clr + plUnits1.Text = ut : plUnits1.ForeColor = clr + plUnits2.Text = ut : plUnits2.ForeColor = clr + InputBox.Focus() + End Sub + + Private Sub decimalDOT_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles decimalDOT.CheckedChanged + Dim pFrom As String = "" + Dim pTo As String = "" + + If decimalDOT.Checked Then + pFrom = "," : pTo = "." + Else + pFrom = "." : pTo = "," + End If + inTopMargin.Text = inTopMargin.Text.Replace(pFrom, pTo) + inLeftMargin.Text = inLeftMargin.Text.Replace(pFrom, pTo) + inLineSpacing.Text = inLineSpacing.Text.Replace(pFrom, pTo) + inLabelHeight.Text = inLabelHeight.Text.Replace(pFrom, pTo) + inLabelWidth.Text = inLabelWidth.Text.Replace(pFrom, pTo) + inGapHeight.Text = inGapHeight.Text.Replace(pFrom, pTo) + inGapWidth.Text = inGapWidth.Text.Replace(pFrom, pTo) + plLeftMargin.Text = plLeftMargin.Text.Replace(pFrom, pTo) + plDistance.Text = plDistance.Text.Replace(pFrom, pTo) + wrapWidth.Text = wrapWidth.Text.Replace(pFrom, pTo) + InputBox.Focus() + End Sub + + Private Sub deweyDecimalBreakAft_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles deweyDecimalBreakAft.CheckedChanged + If deweyDecimalBreakAft.Checked Then + deweyGroup3.Enabled = True + deweydigitsperline.Enabled = True + Label25.Enabled = True + Else + deweyGroup3.Enabled = False + deweydigitsperline.Enabled = False + Label25.Enabled = False + End If + End Sub + + Private Sub closeXbox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles closeXbox.Click + xboxPanel.Visible = False + xtb.BackColor = xtbOrigColor + End Sub + + Private Sub xmlLoad(ByVal sender As Object, ByVal e As System.EventArgs) Handles inOtherSource.DoubleClick, CustomText.DoubleClick, TextBox14.DoubleClick, TextBox13.DoubleClick, parsingSource.DoubleClick, inIssueLevelSource.DoubleClick, inCallNumSource.DoubleClick, plSrc1.DoubleClick, plSrc4.DoubleClick, plSrc3.DoubleClick, plSrc2.DoubleClick, dosParam1.DoubleClick, dosParam2.DoubleClick + Dim node As XmlNode + + XBOX.Items.Clear() + xboxPanel.Height = ManualPrint.Location.Y - 30 + xboxPanel.Width = TabControl1.Location.X - 4 + For Each node In xdoc.SelectNodes("/printout/section-01/physical_item_display_for_printing/*") + XBOX.Items.Add("<" & node.Name & ">") + If node.HasChildNodes Then + For Each child As XmlNode In node + If child.Name <> "#text" Then XBOX.Items.Add("<" & node.Name & "><" & child.Name & ">") + Next + End If + Next + If XBOX.Items.Count <> 0 Then + If Not xtb Is Nothing AndAlso xtb.BackColor <> Color.White Then + xtb.BackColor = Color.White + End If + xtb = sender + xtbOrigColor = xtb.BackColor + xtb.BackColor = Color.AntiqueWhite + xboxPanel.Visible = True + Else + MsgBox("XML fields can only be selected after a barcode has been scanned.", MsgBoxStyle.Information, "Select XML field") + End If + End Sub + + Private Sub XBOX_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles XBOX.DoubleClick + Dim xf As String = "" + xf = XBOX.SelectedItem + If xtb.Multiline = False Then + xtb.Text = xf + Else + If xtb.SelectionLength = 0 Then + xtb.SelectedText = xf & vbCrLf + Else + xtb.SelectedText = xf + End If + End If + xtb.BackColor = xtbOrigColor + xboxPanel.Visible = False + End Sub + + Private Sub Label126_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles viadosCaution.Click + Dim hmsg As String = "" + hmsg = "When running in hidden mode, the Command Prompt window will not be visible. " + hmsg = hmsg & "Make sure that there are no commands in the batch file (such as 'pause') " + hmsg = hmsg & "that will require a keypress or other response from the user. Otherwise, the " + hmsg = hmsg & "batch process will never close." & vbCrLf & vbCrLf + hmsg = hmsg & "If this happens, use the Task Manager to kill any stray 'cmd.exe' processes." + + MsgBox(hmsg, MsgBoxStyle.Information, "Run Hidden Warning") + End Sub + + Private Sub hideDosWindow_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hideDosWindow.CheckedChanged + If hideDosWindow.Checked Then + viadosCaution.Visible = True + Else + viadosCaution.Visible = False + End If + End Sub + + Private Sub chkAddHostname_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkAddHostname.CheckedChanged + If chkAddHostname.Checked Then + chkGeoList.Enabled = True + Else + chkGeoList.Enabled = False + End If + End Sub + + Private Sub deweyDigitsToBreak_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles deweyDigitsToBreak.TextChanged + btnTestParser.PerformClick() + End Sub + + Private Sub deweydigitsperline_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles deweydigitsperline.TextChanged + btnTestParser.PerformClick() + End Sub + + Private Sub UseRestfulApi_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UseRestfulApi.CheckedChanged + If UseRestfulApi.Checked Then + accessType.Text = "R" + accessType.ForeColor = Color.Green + ToolTip1.SetToolTip(accessType, "Using preferred RESTful API access to Alma.") + Else + accessType.Text = "J" + accessType.ForeColor = Color.Red + ToolTip1.SetToolTip(accessType, "Caution--Using deprecated Java access to Alma.") + End If + End Sub + + Private Sub dontConvert_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dontConvert.CheckedChanged + If dontConvert.Checked = True Then + MsgBox("Caution--Check this box only to enable viewing the RESTful XML file in " & _ + "the 'Current XML' panel. The RESTful XML must be converted to the older (Java) " & _ + "format in order for SpineOMatic to function.", MsgBoxStyle.Information, "Warning") + End If + End Sub + +End Class diff --git a/My Project/Application.Designer.vb b/My Project/Application.Designer.vb new file mode 100644 index 0000000..8708a23 --- /dev/null +++ b/My Project/Application.Designer.vb @@ -0,0 +1,38 @@ +'------------------------------------------------------------------------------ +' <auto-generated> +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' </auto-generated> +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + 'NOTE: This file is auto-generated; do not modify it directly. To make changes, + ' or if you encounter build errors in this file, go to the Project Designer + ' (go to Project Properties or double-click the My Project node in + ' Solution Explorer), and make changes on the Application tab. + ' + Partial Friend Class MyApplication + + <Global.System.Diagnostics.DebuggerStepThroughAttribute()> _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + <Global.System.Diagnostics.DebuggerStepThroughAttribute()> _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.SpineLabeler.Form1 + End Sub + End Class +End Namespace diff --git a/My Project/Application.myapp b/My Project/Application.myapp new file mode 100644 index 0000000..1243847 --- /dev/null +++ b/My Project/Application.myapp @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <MySubMain>true</MySubMain> + <MainForm>Form1</MainForm> + <SingleInstance>false</SingleInstance> + <ShutdownMode>0</ShutdownMode> + <EnableVisualStyles>true</EnableVisualStyles> + <AuthenticationMode>0</AuthenticationMode> + <ApplicationType>0</ApplicationType> + <SaveMySettingsOnExit>true</SaveMySettingsOnExit> +</MyApplicationData> diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..2171d3b --- /dev/null +++ b/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' General Information about an assembly is controlled through the following +' set of attributes. Change these attribute values to modify the information +' associated with an assembly. + +' Review the values of the assembly attributes + +<Assembly: AssemblyTitle("SpineLabeler")> +<Assembly: AssemblyDescription("")> +<Assembly: AssemblyCompany("Boston College")> +<Assembly: AssemblyProduct("SpineLabeler")> +<Assembly: AssemblyCopyright("Copyright © Boston College 2012")> +<Assembly: AssemblyTrademark("")> + +<Assembly: ComVisible(False)> + +'The following GUID is for the ID of the typelib if this project is exposed to COM +<Assembly: Guid("1484cda4-59c0-4bbe-ad75-b0f5f22fb90e")> + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' <Assembly: AssemblyVersion("1.0.*")> + +<Assembly: AssemblyVersion("1.0.0.0")> +<Assembly: AssemblyFileVersion("1.0.0.0")> diff --git a/My Project/Resources.Designer.vb b/My Project/Resources.Designer.vb new file mode 100644 index 0000000..a7dbd37 --- /dev/null +++ b/My Project/Resources.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' <auto-generated> +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' </auto-generated> +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'This class was auto-generated by the StronglyTypedResourceBuilder + 'class via a tool like ResGen or Visual Studio. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + '''<summary> + ''' A strongly-typed resource class, for looking up localized strings, etc. + '''</summary> + <Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _ + Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ + Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _ + Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + '''<summary> + ''' Returns the cached ResourceManager instance used by this class. + '''</summary> + <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("SpineLabeler.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + '''<summary> + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + '''</summary> + <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + + '''<summary> + ''' Looks up a localized resource of type System.Drawing.Bitmap. + '''</summary> + Friend ReadOnly Property somBkgrnd() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("somBkgrnd", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + End Module +End Namespace diff --git a/My Project/Resources.resx b/My Project/Resources.resx new file mode 100644 index 0000000..d68bc01 --- /dev/null +++ b/My Project/Resources.resx @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <data name="somBkgrnd" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\Resources\somBkgrnd.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> +</root> \ No newline at end of file diff --git a/My Project/Settings.Designer.vb b/My Project/Settings.Designer.vb new file mode 100644 index 0000000..10b6fcb --- /dev/null +++ b/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' <auto-generated> +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' </auto-generated> +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + <Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _ + Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0"), _ + Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + <Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _ + Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ + Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _ + Friend Module MySettingsProperty + + <Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _ + Friend ReadOnly Property Settings() As Global.SpineLabeler.My.MySettings + Get + Return Global.SpineLabeler.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/My Project/Settings.settings b/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/My Project/Settings.settings @@ -0,0 +1,7 @@ +<?xml version='1.0' encoding='utf-8'?> +<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true"> + <Profiles> + <Profile Name="(Default)" /> + </Profiles> + <Settings /> +</SettingsFile> diff --git a/Resources/somBkgrnd.bmp b/Resources/somBkgrnd.bmp new file mode 100644 index 0000000000000000000000000000000000000000..4dc7057b48699614da1fad7cf30afd3c7dc41ebb GIT binary patch literal 494574 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 $R~rK6G|mD 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 JQA6^D{|Bwt104VW literal 0 HcmV?d00001 diff --git a/SpineLabeler.sln b/SpineLabeler.sln new file mode 100644 index 0000000..18827ae --- /dev/null +++ b/SpineLabeler.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{08222507-7860-4742-A907-B416B50BD833}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "SpineLabeler", "SpineLabeler.vbproj", "{1C9D1023-4D78-4AD9-B5ED-20B5B00BD5B2}" +EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "SOMSetup", "..\SOMSetup\SOMSetup.vdproj", "{0D0B1155-22B9-43C8-B399-D06754E807F0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1C9D1023-4D78-4AD9-B5ED-20B5B00BD5B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1C9D1023-4D78-4AD9-B5ED-20B5B00BD5B2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1C9D1023-4D78-4AD9-B5ED-20B5B00BD5B2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1C9D1023-4D78-4AD9-B5ED-20B5B00BD5B2}.Release|Any CPU.Build.0 = Release|Any CPU + {0D0B1155-22B9-43C8-B399-D06754E807F0}.Debug|Any CPU.ActiveCfg = Debug + {0D0B1155-22B9-43C8-B399-D06754E807F0}.Release|Any CPU.ActiveCfg = Release + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SpineLabeler.vbproj b/SpineLabeler.vbproj new file mode 100644 index 0000000..3308e7e --- /dev/null +++ b/SpineLabeler.vbproj @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>8.0.50727</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{1C9D1023-4D78-4AD9-B5ED-20B5B00BD5B2}</ProjectGuid> + <OutputType>WinExe</OutputType> + <StartupObject>SpineLabeler.My.MyApplication</StartupObject> + <RootNamespace>SpineLabeler</RootNamespace> + <AssemblyName>SpineLabeler</AssemblyName> + <MyType>WindowsForms</MyType> + <ApplicationIcon>library.ico</ApplicationIcon> + <TargetFrameworkVersion>v2.0</TargetFrameworkVersion> + <FileUpgradeFlags> + </FileUpgradeFlags> + <UpgradeBackupLocation> + </UpgradeBackupLocation> + <OldToolsVersion>2.0</OldToolsVersion> + <ApplicationRevision>0</ApplicationRevision> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <DefineDebug>true</DefineDebug> + <DefineTrace>true</DefineTrace> + <OutputPath>bin\Debug\</OutputPath> + <DocumentationFile>SpineLabeler.xml</DocumentationFile> + <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <DefineDebug>false</DefineDebug> + <DefineTrace>true</DefineTrace> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DocumentationFile>SpineLabeler.xml</DocumentationFile> + <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Data" /> + <Reference Include="System.Deployment" /> + <Reference Include="System.Drawing" /> + <Reference Include="System.Management" /> + <Reference Include="System.Windows.Forms" /> + <Reference Include="System.Xml" /> + </ItemGroup> + <ItemGroup> + <Import Include="Microsoft.VisualBasic" /> + <Import Include="System" /> + <Import Include="System.Collections" /> + <Import Include="System.Collections.Generic" /> + <Import Include="System.Data" /> + <Import Include="System.Drawing" /> + <Import Include="System.Diagnostics" /> + <Import Include="System.Windows.Forms" /> + </ItemGroup> + <ItemGroup> + <Compile Include="ApplicationEvents.vb" /> + <Compile Include="Form1.vb"> + <SubType>Form</SubType> + </Compile> + <Compile Include="Form1.Designer.vb"> + <DependentUpon>Form1.vb</DependentUpon> + <SubType>Form</SubType> + </Compile> + <Compile Include="My Project\AssemblyInfo.vb" /> + <Compile Include="My Project\Application.Designer.vb"> + <AutoGen>True</AutoGen> + <DependentUpon>Application.myapp</DependentUpon> + </Compile> + <Compile Include="My Project\Resources.Designer.vb"> + <AutoGen>True</AutoGen> + <DesignTime>True</DesignTime> + <DependentUpon>Resources.resx</DependentUpon> + </Compile> + <Compile Include="My Project\Settings.Designer.vb"> + <AutoGen>True</AutoGen> + <DependentUpon>Settings.settings</DependentUpon> + <DesignTimeSharedInput>True</DesignTimeSharedInput> + </Compile> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="Form1.resx"> + <SubType>Designer</SubType> + <DependentUpon>Form1.vb</DependentUpon> + </EmbeddedResource> + <EmbeddedResource Include="My Project\Resources.resx"> + <Generator>VbMyResourcesResXFileCodeGenerator</Generator> + <LastGenOutput>Resources.Designer.vb</LastGenOutput> + <CustomToolNamespace>My.Resources</CustomToolNamespace> + <SubType>Designer</SubType> + </EmbeddedResource> + </ItemGroup> + <ItemGroup> + <None Include="ClassDiagram1.cd" /> + <None Include="ClassDiagram2.cd" /> + <None Include="ClassDiagram3.cd" /> + <None Include="My Project\Application.myapp"> + <Generator>MyApplicationCodeGenerator</Generator> + <LastGenOutput>Application.Designer.vb</LastGenOutput> + </None> + <None Include="My Project\Settings.settings"> + <Generator>SettingsSingleFileGenerator</Generator> + <CustomToolNamespace>My</CustomToolNamespace> + <LastGenOutput>Settings.Designer.vb</LastGenOutput> + </None> + </ItemGroup> + <ItemGroup> + <Content Include="library.ico" /> + <None Include="Resources\somBkgrnd.bmp" /> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project> \ No newline at end of file diff --git a/library.ico b/library.ico new file mode 100644 index 0000000000000000000000000000000000000000..8bec24a2b40c9e28cd2cff6e94fa31c5500262c1 GIT binary patch literal 69878 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 literal 0 HcmV?d00001