eclipse-plugin 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NTA3MjcyMGY0YjRjODZhNDU1ZmM2Yjc5MTAwYjU2MzQ2Nzg4ZDY2MQ==
4
+ MWVhY2U4ZjdjNmE0OGUxMzg2Y2Q5NDIyYTQ4NTNlZmI5OGZkYTRjZg==
5
5
  data.tar.gz: !binary |-
6
- ZjU5NzZmMmFhOGZlZTFhMjk5MDczM2ZiZDhmYWQ3Y2Q1YWQ4MzM0YQ==
6
+ NmU4YjQ4Mjc5OGYzYmI1ZjEyOTZiNzZjNTg4MTJlNTFiYWIwMDhkOA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ODI5MjhlY2NkZDk0Yjg0MzVjMWI0Njk0NTk5OWE1NTFmNThjNjhhMzhlNDIy
10
- MGZhNjJiZTU2YWQ5Yzg1MTVjZWU2M2QwOTFiN2VkZTMxMTQ1YTIyNGVmZTBm
11
- NzY3NThkYWQ4MzlhZTliZWVlZGE2NDhmYTRlZGRhM2ViYzQ4MzE=
9
+ NmZkZDk1ZjBjNzlkOTJmZDYwYTZlMTc0Y2M2Y2EwZTcxNGI2MTkwNmExZGU2
10
+ OTljOTIyOWU3ZDM0MTNhODI1OGJhZmZhZjdjYjkzYWM0ZmQ0ZmZmYzdiMWFj
11
+ ZGNkYmZlMDhlYzIyZDIwYWY0NDMyZmUxOWQ5MjM4MWNhN2UxYjI=
12
12
  data.tar.gz: !binary |-
13
- YzM4MTM4YmU2MTY3ZTM2ZGVlNGIyNjhlNjA1Yjc4MjE2ZGFkMTNkOTMyNmE0
14
- YzM4YzM4OThlMzcyNWY2NzhiOGExOWYwZTdlYzYxYmJiNGUxNjQzZDY1NGQ5
15
- YjgzZjNhN2QwYmFkYzc1MjcyYmQ1YzY4ZTE4OTFjYzAwZjc3ZTY=
13
+ ZDA1NGUzMWVmYWZmZmIwMDExYTg2MWUzNmFkYTk4MmNlYTk0M2QxYjc1YTQ2
14
+ YmU2Nzc1OTcwNzgyNjhmNDEyMGMwZGQ4YzdjZGZhMDk1OWYzNjUwYTQ4Mzc3
15
+ NzU3NzViNWZlMjM0MGJlN2YyYzE5NjUzZmQxZDlmZjUxYzlhMmM=
data/.gitignore CHANGED
@@ -3,7 +3,6 @@
3
3
  .bundle
4
4
  .config
5
5
  .yardoc
6
- Gemfile.lock
7
6
  InstalledFiles
8
7
  _yardoc
9
8
  coverage
@@ -15,3 +14,4 @@ spec/reports
15
14
  test/tmp
16
15
  test/version_tmp
17
16
  tmp
17
+ vendor
data/.travis.yml CHANGED
@@ -1,12 +1,14 @@
1
1
  language: ruby
2
2
 
3
3
  script: bundle exec rake spec
4
+ install: bundle install --deployment --without debugger
4
5
 
5
6
  rvm:
6
7
  - 1.8.7
7
8
  - 1.9.3
8
- - 2.0.0
9
- - head
9
+ - 2.0
10
+ - 2.1
11
+ - ruby-head
10
12
  notifications:
11
13
  email:
12
14
  recipients:
data/Changelog ADDED
@@ -0,0 +1,6 @@
1
+ 0.0.2 # 2014.04.21
2
+ - support parsing a source plugin/workspace
3
+ - use rubyzip < 1.0.0 to make it work with ruby 1.8.7 (which is still commonly used in MacOSX)
4
+
5
+ 0.0.1 # 2014.04.21
6
+ - initial release
data/Gemfile CHANGED
@@ -2,3 +2,4 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in eclipse-plugin.gemspec
4
4
  gemspec
5
+
data/Gemfile.lock ADDED
@@ -0,0 +1,37 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ eclipse-plugin (0.0.2)
5
+ rubyzip (< 1.0.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ diff-lcs (1.2.5)
11
+ docile (1.1.3)
12
+ multi_json (1.9.2)
13
+ rake (10.1.1)
14
+ rspec (2.14.1)
15
+ rspec-core (~> 2.14.0)
16
+ rspec-expectations (~> 2.14.0)
17
+ rspec-mocks (~> 2.14.0)
18
+ rspec-core (2.14.8)
19
+ rspec-expectations (2.14.5)
20
+ diff-lcs (>= 1.1.3, < 2.0)
21
+ rspec-mocks (2.14.6)
22
+ rubyzip (0.9.9)
23
+ simplecov (0.8.2)
24
+ docile (~> 1.1.0)
25
+ multi_json
26
+ simplecov-html (~> 0.8.0)
27
+ simplecov-html (0.8.0)
28
+
29
+ PLATFORMS
30
+ ruby
31
+
32
+ DEPENDENCIES
33
+ bundler (~> 1.5)
34
+ eclipse-plugin!
35
+ rake
36
+ rspec
37
+ simplecov
@@ -17,10 +17,9 @@ Gem::Specification.new do |spec|
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
- spec.add_dependency 'rubyzip', '>= 1.0.0'
20
+ spec.add_dependency 'rubyzip', '< 1.0.0'
21
21
  spec.add_development_dependency "bundler", "~> 1.5"
22
22
  spec.add_development_dependency "rake"
23
23
  spec.add_development_dependency "rspec"
24
24
  spec.add_development_dependency "simplecov"
25
- spec.add_development_dependency "pry-debugger"
26
25
  end
@@ -1,6 +1,6 @@
1
1
  require "eclipse/plugin/version"
2
2
 
3
- require 'zip'
3
+ require 'zip/zip'
4
4
  require "rexml/document"
5
5
  include REXML # so that we don't have to prefix everything with REXML::...
6
6
 
@@ -13,51 +13,74 @@ module Eclipse
13
13
  @view_categories = Hash.new
14
14
  @preferencePages = Hash.new
15
15
  @perspectives = Hash.new
16
- @preferencePage_categories = Hash.new
16
+ @preferencePage_categories = Hash.new
17
17
  end
18
18
 
19
19
  def parsePluginDir(plugins_dir = File.join(@workspace_dir, "plugins"))
20
- name = "#{plugins_dir}/*.jar"
21
- Dir.glob(name).each{
22
- |jarname|
23
- info = Plugin::Info.new(jarname)
24
- fields = [:views, :view_categories, :preferencePages, :perspectives, :preferencePage_categories]
25
- info.views.each{ |k, v| @views[k] = v }
26
- info.view_categories.each{ |k, v| @views[k] = v }
27
- info.perspectives.each{ |k, v| @views[k] = v }
28
- info.preferencePages.each{ |k, v| @views[k] = v }
29
- info.preferencePage_categories.each{ |k, v| @views[k] = v }
20
+ Dir.glob("#{plugins_dir}/*.jar").each{ |jarname| add_info(Plugin::Info.new(jarname)) }
21
+ show if $VERBOSE
22
+ end
23
+
24
+ def parse_sub_dirs
25
+ Dir.glob("#{@workspace_dir}/*").each{
26
+ |item|
27
+ next unless File.directory?(item)
28
+ add_info(Plugin::Info.new(item))
30
29
  }
30
+ show if $VERBOSE
31
31
  end
32
+ def show
33
+ puts "Workspace #{@workspace_dir} with #{@views.size}/#{@view_categories.size} views #{@preferencePages.size}/#{@preferencePage_categories.size} preferencePages #{@perspectives.size} perspectives"
34
+ end
35
+ private
36
+ def add_info(info)
37
+ info.views.each{ |k, v| @views[k] = v }
38
+ info.view_categories.each{ |k, v| @view_categories[k] = v }
39
+ info.perspectives.each{ |k, v| @perspectives[k] = v }
40
+ info.preferencePages.each{ |k, v| @preferencePages[k] = v }
41
+ info.preferencePage_categories.each{ |k, v| @preferencePage_categories[k] = v }
42
+ end
32
43
  end
33
44
 
34
45
  module Plugin
35
46
  class Info
47
+ attr_reader :iso, :views, :view_categories, :preferencePages, :perspectives, :workspace, :preferencePage_categories
36
48
  # Some helper classes for the extension points we are interested in
37
49
  UI_PreferencePage = Struct.new('UI_PreferencePage', :id, :category, :translation)
38
50
  UI_View = Struct.new('UI_View', :id, :category, :translation)
39
51
  UI_Perspective = Struct.new('UI_Perspective', :id, :category, :translation)
40
52
  Category = Struct.new('Category', :id, :name, :translation)
41
- attr_reader :iso, :views, :view_categories, :preferencePages, :perspectives, :workspace, :preferencePage_categories
42
53
 
43
- def initialize(jarname, iso='de')
44
- @workspace = File.dirname(jarname).sub(/\/plugins$/, '')
54
+ def initialize(jar_or_src, iso='de')
55
+ @workspace = File.dirname(jar_or_src).sub(/\/plugins$/, '')
45
56
  @iso = iso
46
- @jarname = jarname
47
- @jarfile = Zip::File.open(jarname)
57
+ @jar_or_src = jar_or_src
48
58
  @views = Hash.new
49
59
  @view_categories = Hash.new
50
60
  @preferencePages = Hash.new
51
61
  @perspectives = Hash.new
52
62
  @preferencePage_categories = Hash.new
53
63
  # we use hashes to be able to find the categories fast
54
- readPluginXML(File.basename(jarname))
55
- rescue => e # HACK: we need this to handle org.apache.commons.lang under Windows-7
56
- puts "Skipped plugin #{File.expand_path(jarname)}"
57
- puts "error was #{e.inspect}"
64
+ if File.directory?(jar_or_src)
65
+ @jarfile = nil
66
+ readPluginXML(jar_or_src)
67
+ else
68
+ # @jarname = jar_or_src
69
+ @jarfile = Zip::ZipFile.open(jar_or_src)
70
+ readPluginXML(File.basename(jar_or_src))
71
+ end
72
+ if false
73
+ # rescue => e # HACK: we need this to handle org.apache.commons.lang under Windows-7
74
+ puts "Skipped plugin #{File.expand_path(jar_or_src)}"
75
+ # puts "error was #{e.inspect}"
58
76
  puts caller
77
+ end
59
78
  end
60
79
 
80
+ def show
81
+ puts "Plugin: #{@jar_or_src} with #{@views.size}/#{@view_categories.size} views #{@preferencePages.size}/#{@preferencePage_categories.size} preferencePages #{@perspectives.size} perspectives"
82
+ end
83
+
61
84
  def addCategory(hash, id, name = nil)
62
85
  return if hash[id] and hash[id].translation
63
86
  hash[id] = Category.new(id, name) unless hash[id]
@@ -125,10 +148,16 @@ module Eclipse
125
148
 
126
149
  def getTranslationForPlugin(look_for, iso)
127
150
  properties = "plugin_#{iso}.properties"
128
- properties = "plugin.properties" unless @jarfile.find_entry(properties)
129
151
  puts "Looking for translation of #{look_for} in #{properties}" if $VERBOSE
152
+ content = nil
153
+ if @jarfile
154
+ content = @jarfile.read(properties) if @jarfile.find_entry(properties)
155
+ else
156
+ properties = File.new(File.join(@jar_or_src, "plugin.properties")).read
157
+ end
158
+ return look_for unless content
130
159
  line_nr = 0
131
- @jarfile.read(properties).split("\n").each {
160
+ content.split("\n").each {
132
161
  |line|
133
162
  line_nr += 1
134
163
  id,value = line.split(' = ')
@@ -137,13 +166,17 @@ module Eclipse
137
166
  else id,value = line.split('=')
138
167
  return Helpers::unescape(value.sub("\r","").sub("\n","")) if id and id.index(look_for)
139
168
  end
140
- } if @jarfile.find_entry(properties)
169
+ }
141
170
  return look_for # default
142
171
  end
143
172
 
144
- def readPluginXML(plugin_xml)
145
- return unless @jarfile.find_entry('plugin.xml')
146
- doc = Document.new @jarfile.read('plugin.xml')
173
+ def readPluginXML(plugin)
174
+ if @jarfile
175
+ return unless @jarfile.find_entry('plugin.xml')
176
+ doc = Document.new @jarfile.read('plugin.xml')
177
+ else
178
+ doc = Document.new File.new(File.join(plugin, 'plugin.xml')).read
179
+ end
147
180
  # Get all perspectives
148
181
  root = doc.root
149
182
  res = []
@@ -153,7 +186,7 @@ module Eclipse
153
186
  id = x.attributes['name'].sub(/^%/,'')
154
187
  @perspectives[id] = UI_Perspective.new(id, nil, getTranslationForPlugin(id, @iso))
155
188
  } if res and res[0] and res[0].elements
156
- puts "found #{@perspectives.size} perspectives in #{plugin_xml}" if $VERBOSE
189
+ puts "found #{@perspectives.size} perspectives in #{plugin}" if $VERBOSE
157
190
 
158
191
  # Get all views
159
192
  res = []
@@ -194,7 +227,7 @@ module Eclipse
194
227
  @preferencePages[id] = UI_PreferencePage.new(id, category, translation)
195
228
  end
196
229
  } if res and res[0] and res[0].elements
197
- puts "#{sprintf("%-40s", File.basename(File.dirname(plugin_xml)))}: now #{@preferencePages.size} preferencePages" if $VERBOSE
230
+ puts "#{sprintf("%-40s", File.basename(File.dirname(plugin)))}: now #{@preferencePages.size} preferencePages" if $VERBOSE
198
231
  end
199
232
  end
200
233
  end
@@ -1,5 +1,5 @@
1
1
  module Eclipse
2
2
  module Plugin
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
@@ -0,0 +1,139 @@
1
+ #Created by JInto - www.guh-software.de
2
+ #Sun Feb 24 11:41:04 CET 2013
3
+ Bundle-Name.0=Elexis
4
+ Textvorlagen=document templates
5
+ aboutText=About Elexis
6
+ category.description.0=Billing related commands
7
+ category.name.0=Elexis
8
+ category.name.1=bills
9
+ command.description.0=connect to a database
10
+ command.description.1=return to start
11
+ command.description.2=create reminders
12
+ command.description.3=export service blocks
13
+ command.name.0=Home
14
+ command.name.1=create bills
15
+ command.name.2=reminders
16
+ command.name.3=ExportServices
17
+ command.showViews=Show Views
18
+ commandParameter.name.0=billables
19
+ context.description.0=context for billing
20
+ context.name.0=billing
21
+ elexis.AccountListView=Account List
22
+ elexis.AccountView=Account
23
+ elexis.BillSummaryView=Bill Summary
24
+ elexis.SearchView=Search
25
+ elexis.accounting=Accounting manager
26
+ elexis.accountingCategory=Accounting
27
+ elexis.accountingPerspective=Accounting
28
+ elexis.activityCodePrefs=Accounting systems
29
+ elexis.activityPerspective=Services
30
+ elexis.activityView=Services
31
+ elexis.addressListView=Addresses
32
+ elexis.addressPerspective=ContactsPerspective
33
+ elexis.articleDetailView=Article detail
34
+ elexis.articlePerspective=Articles
35
+ elexis.articleSelectorView=Article selection
36
+ elexis.articles=Articles and Services
37
+ elexis.articlesView=Article
38
+ elexis.aufView=Cerificates
39
+ elexis.auzPrintView=Certificate
40
+ elexis.banner=Elexis - the Practice
41
+ elexis.bbsPerspective=Black Board
42
+ elexis.bbsView=Bulletin Board
43
+ elexis.billDetail=Bill detail
44
+ elexis.billsListView=Bills list
45
+ elexis.billsView=Bills
46
+ elexis.caseDetailView=Case
47
+ elexis.caseKonsView=Cases and cons.
48
+ elexis.casesListView=Cases
49
+ elexis.cdss=Clinical decision support
50
+ elexis.codesCategory=Codes
51
+ elexis.codesView=Codes
52
+ elexis.connectCommand=Connection
53
+ elexis.contactDetailView=Contact detail
54
+ elexis.contactsView=Contacts
55
+ elexis.createBillsView=Create Bills
56
+ elexis.createLetterView=Create letter
57
+ elexis.dataCategory=Data
58
+ elexis.databasePrefs=Database
59
+ elexis.diagnoses=Pluggable diagnosis systems
60
+ elexis.diagnosesView=Diagnosis
61
+ elexis.docCategoryPrefs=Document categories
62
+ elexis.emrPrintView=Print EMR
63
+ elexis.fixMediView=Permanent medication
64
+ elexis.generalPrefs=General\t
65
+ elexis.groupPrefs=Groups and rights
66
+ elexis.historyView=Consultations
67
+ elexis.importCommand=import
68
+ elexis.importExt=Importer for external data
69
+ elexis.importLab=Lab import
70
+ elexis.importerPrefs=Data exchange
71
+ elexis.kompendiumView=Kompendium online
72
+ elexis.konsCategory=Consultations
73
+ elexis.konsDetailView=Consultation
74
+ elexis.konsExtension=Extension for consultations
75
+ elexis.labGroupPrefs=Lab Order Groups
76
+ elexis.labPrefs=Lab values
77
+ elexis.labPrintView=Lab values
78
+ elexis.labView=Lab
79
+ elexis.laborOrder=Labor order
80
+ elexis.launcherView=Launcher
81
+ elexis.letterPerspective=Letters
82
+ elexis.loginCommand=login
83
+ elexis.mandatorPrefs=Mandators
84
+ elexis.measurementsCategory=Measurements
85
+ elexis.online=Online Services
86
+ elexis.openKons2View=Open consultations
87
+ elexis.openKonsView=Open Consultations
88
+ elexis.orderPrintView=Print order
89
+ elexis.orderView=Order
90
+ elexis.patDetailView=Patient detail
91
+ elexis.patListView=Patients
92
+ elexis.patTodayView=Today
93
+ elexis.patientPerspective=PatientPerspective
94
+ elexis.persistency=Persistable object reference
95
+ elexis.plzView=Zip
96
+ elexis.prescriptionPrintView=Prescription
97
+ elexis.prescriptionView=Prescriptions
98
+ elexis.printerPrefs=Printers
99
+ elexis.reminderPerspective=Reminder
100
+ elexis.reminderPrefs=Reminders
101
+ elexis.remindersView=Reminders
102
+ elexis.scannerPrefs=barcode scanner
103
+ elexis.securityPrefs=Access control
104
+ elexis.selectLetterView=Select letter
105
+ elexis.sidebar=Elexis quickstart bar
106
+ elexis.sidebarPrefs=Launch bar
107
+ elexis.stocksView=Store
108
+ elexis.templatePrintView=Print template
109
+ elexis.text=Text extension
110
+ elexis.textCategory=documents
111
+ elexis.textPrefs=Text processor
112
+ elexis.textView=Letters
113
+ elexis.userCasePrefs=cases
114
+ elexis.userPrefs=Users
115
+ page.name.0=text editing
116
+ page.name.1=store management
117
+ page.name.2=view
118
+ page.name.3=preferences
119
+ page.name.4=Sticker
120
+ page.name.5=fonts
121
+ page.name.6=XIDs
122
+ perspective.description.0=A perspective for creating and printing bills
123
+ perspective.name.0=Orders
124
+ product.name.0=Medelexis Nucleus
125
+ sidebar.activities=Services
126
+ sidebar.articles=Articles
127
+ sidebar.bbs=Bulletin Board
128
+ sidebar.bills=Accounting
129
+ sidebar.contacts=Contacts
130
+ sidebar.kons=Consultation
131
+ sidebar.letters=Letters
132
+ sidebar.orders=Orders
133
+ sidebar.reminders=Reminders
134
+ view.name.0=Patient detail (old)
135
+ view.name.1=Data view
136
+ view.name.2=Open Drug Database
137
+ view.name.3=medication history
138
+ view.name.4=new lab values
139
+ view.name.5=Script
@@ -0,0 +1,457 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <?eclipse version="3.4"?>
3
+ <plugin>
4
+ <extension
5
+ id="product"
6
+ point="org.eclipse.core.runtime.products">
7
+ <product
8
+ application="ch.elexis.core.application.ElexisApp"
9
+ name="Elexis OpenSource">
10
+ <property
11
+ name="appName"
12
+ value="Elexis OpenSource">
13
+ </property>
14
+ <property
15
+ name="preferenceCustomization"
16
+ value="elexisprefs.ini">
17
+ </property>
18
+ <property
19
+ name="windowImages"
20
+ value="rsc/elexis2_16.gif,rsc/elexis32_2.gif,rsc/elexis48.gif">
21
+ </property>
22
+ <property
23
+ name="aboutText"
24
+ value="Elexis 3.0 Development Version - www.elexis.info">
25
+ </property>
26
+ </product>
27
+ </extension>
28
+ <extension
29
+ point="org.eclipse.ui.views">
30
+ <view
31
+ class="ch.elexis.core.ui.views.TemplatePrintView"
32
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/printer.png"
33
+ id="ch.elexis.views.TemplatePrintView"
34
+ name="%elexis.templatePrintView">
35
+ </view>
36
+ <view
37
+ category="ch.elexis.konsultationKategorie"
38
+ class="ch.elexis.core.ui.views.FallListeView"
39
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/documents_stack.png"
40
+ id="ch.elexis.FallListeView"
41
+ name="%elexis.caseKonsView">
42
+ </view>
43
+ <view
44
+ category="ch.elexis.messungenKategorie"
45
+ class="ch.elexis.core.ui.laboratory.views.LaborView"
46
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/labor_view.png"
47
+ id="ch.elexis.Labor"
48
+ name="%elexis.labView">
49
+ </view>
50
+ <view
51
+ category="ch.elexis.konsultationKategorie"
52
+ class="ch.elexis.core.ui.views.RezepteView"
53
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/rezept_view.png"
54
+ id="ch.elexis.Rezepte"
55
+ name="%elexis.prescriptionView">
56
+ </view>
57
+ <view
58
+ category="ch.elexis.datenKategorie"
59
+ class="ch.elexis.core.ui.contacts.views.PatientenListeView"
60
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/group.png"
61
+ id="ch.elexis.PatListView"
62
+ name="%elexis.patListView">
63
+ </view>
64
+ <view
65
+ category="ch.elexis.datenKategorie"
66
+ class="ch.elexis.core.ui.views.KompendiumView"
67
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/information.png"
68
+ id="ch.elexis.Kompendium"
69
+ name="%elexis.kompendiumView">
70
+ </view>
71
+ <view
72
+ category="ch.elexis.abrechnungKategorie"
73
+ class="ch.elexis.core.ui.views.rechnung.KonsZumVerrechnenView"
74
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/page_red.png"
75
+ id="ch.elexis.BehandlungenVerrechnenView"
76
+ name="%elexis.openKonsView">
77
+ </view>
78
+ <view
79
+ category="ch.elexis.abrechnungKategorie"
80
+ class="ch.elexis.core.ui.views.codesystems.LeistungenView"
81
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/leistung.png"
82
+ id="ch.elexis.LeistungenView"
83
+ name="%elexis.activityView">
84
+ </view>
85
+ <view
86
+ class="ch.elexis.core.ui.views.BBSView"
87
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/tafel.jpg"
88
+ id="ch.elexis.BBSView"
89
+ name="%elexis.bbsView">
90
+ </view>
91
+ <view
92
+ category="ch.elexis.datenKategorie"
93
+ class="ch.elexis.core.ui.views.artikel.Artikeldetail"
94
+ id="ch.elexis.ArtikelDetail"
95
+ name="%elexis.articleDetailView">
96
+ </view>
97
+ <view
98
+ category="ch.elexis.datenKategorie"
99
+ class="ch.elexis.core.ui.views.FallDetailView"
100
+ id="ch.elexis.FallDetailView"
101
+ name="%elexis.caseDetailView">
102
+ </view>
103
+ <view
104
+ category="ch.elexis.textKategorie"
105
+ class="ch.elexis.core.ui.views.BriefAuswahl"
106
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/mail.png"
107
+ id="ch.elexis.BriefAuswahlView"
108
+ name="%elexis.selectLetterView">
109
+ </view>
110
+ <view
111
+ category="ch.elexis.konsultationKategorie"
112
+ class="ch.elexis.core.ui.views.KonsDetailView"
113
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/consult_view.png"
114
+ id="ch.elexis.Konsdetail"
115
+ name="%elexis.konsDetailView">
116
+ </view>
117
+ <view
118
+ category="ch.elexis.konsultationKategorie"
119
+ class="ch.elexis.core.ui.views.codesystems.DiagnosenView"
120
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/stethoskop.gif"
121
+ id="ch.elexis.DiagnosenView"
122
+ name="%elexis.diagnosesView">
123
+ </view>
124
+ <view
125
+ allowMultiple="true"
126
+ category="ch.elexis.textKategorie"
127
+ class="ch.elexis.core.ui.views.TextView"
128
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/dokument.gif"
129
+ id="ch.elexis.TextView"
130
+ name="%elexis.textView">
131
+ </view>
132
+ <view
133
+ allowMultiple="false"
134
+ category="ch.elexis.codesKategorie"
135
+ class="ch.elexis.core.ui.views.codesystems.CodeDetailView"
136
+ fastViewWidthRatio="0.5f"
137
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/report.png"
138
+ id="ch.elexis.codedetailview"
139
+ name="%elexis.codesView">
140
+ </view>
141
+ <view
142
+ category="ch.elexis.textKategorie"
143
+ class="ch.elexis.core.ui.laboratory.views.LaborblattView"
144
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/printer.png"
145
+ id="ch.elexis.Laborblatt"
146
+ name="%elexis.labPrintView">
147
+ </view>
148
+ <view
149
+ category="ch.elexis.textKategorie"
150
+ class="ch.elexis.core.ui.views.AUFZeugnis"
151
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/printer.png"
152
+ id="ch.elexis.AUFView"
153
+ name="%elexis.auzPrintView">
154
+ </view>
155
+ <view
156
+ category="ch.elexis.textKategorie"
157
+ class="ch.elexis.core.ui.views.RezeptBlatt"
158
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/printer.png"
159
+ id="ch.elexis.RezeptBlatt"
160
+ name="%elexis.prescriptionPrintView">
161
+ </view>
162
+ <view
163
+ category="ch.elexis.konsultationKategorie"
164
+ class="ch.elexis.core.ui.views.PatHeuteView"
165
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/calendar_view_day.png"
166
+ id="ch.elexis.PatHeuteView"
167
+ name="%elexis.patTodayView">
168
+ </view>
169
+ <view
170
+ category="ch.elexis.datenKategorie"
171
+ class="ch.elexis.core.ui.views.LagerView"
172
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/box_label.png"
173
+ id="ch.elexis.LagerView"
174
+ name="%elexis.stocksView">
175
+ </view>
176
+ <view
177
+ category="ch.elexis.datenKategorie"
178
+ class="ch.elexis.core.ui.views.BestellView"
179
+ id="ch.elexis.BestellenView"
180
+ name="%elexis.orderView">
181
+ </view>
182
+ <view
183
+ category="ch.elexis.datenKategorie"
184
+ class="ch.elexis.core.ui.views.artikel.ArtikelView"
185
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/pill.png"
186
+ id="ch.elexis.artikelview"
187
+ name="%elexis.articlesView">
188
+ </view>
189
+ <view
190
+ category="ch.elexis.datenKategorie"
191
+ class="ch.elexis.core.ui.views.artikel.ArtikelSelektor"
192
+ id="ch.elexis.ArtikelSelektor"
193
+ name="%elexis.articleSelectorView">
194
+ </view>
195
+ <view
196
+ category="ch.elexis.datenKategorie"
197
+ class="ch.elexis.core.ui.views.BestellBlatt"
198
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/printer.png"
199
+ id="ch.elexis.BestellBlatt"
200
+ name="%elexis.orderPrintView">
201
+ </view>
202
+ <view
203
+ allowMultiple="false"
204
+ category="ch.elexis.konsultationKategorie"
205
+ class="ch.elexis.core.ui.views.KonsListe"
206
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/book_open_view.png"
207
+ id="ch.elexis.HistoryView"
208
+ name="%elexis.historyView">
209
+ </view>
210
+ <view
211
+ category="ch.elexis.textKategorie"
212
+ class="ch.elexis.core.ui.views.KGPrintView"
213
+ id="ch.elexis.views.KGPrintView"
214
+ name="%elexis.emrPrintView">
215
+ </view>
216
+ <view
217
+ category="ch.elexis.konsultationKategorie"
218
+ class="ch.elexis.core.ui.views.AUF2"
219
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/auf.png"
220
+ id="ch.elexis.auf"
221
+ name="%elexis.aufView">
222
+ </view>
223
+ <view
224
+ category="ch.elexis.abrechnungKategorie"
225
+ class="ch.elexis.core.ui.views.rechnung.RnDetailView"
226
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/page_green.png"
227
+ id="ch.elexis.RechnungsDetailView"
228
+ name="%elexis.billDetail">
229
+ </view>
230
+ <view
231
+ category="ch.elexis.abrechnungKategorie"
232
+ class="ch.elexis.core.ui.views.rechnung.RechnungsListeView"
233
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/page_copy.png"
234
+ id="ch.elexis.RechnungsListeView"
235
+ name="%elexis.billsListView">
236
+ </view>
237
+ <view
238
+ class="ch.elexis.core.ui.medication.views.DauerMediView"
239
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/pill.png"
240
+ id="ch.elexis.dauermedikationview"
241
+ name="%elexis.fixMediView">
242
+ </view>
243
+ <view
244
+ category="ch.elexis.konsultationKategorie"
245
+ class="ch.elexis.core.ui.views.FaelleView"
246
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/documents_stack.png"
247
+ id="ch.elexis.schoebufaelle"
248
+ name="%elexis.casesListView">
249
+ </view>
250
+ <view
251
+ class="ch.elexis.core.ui.views.ReminderView"
252
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/bell__exclamation.png"
253
+ id="ch.elexis.reminderview"
254
+ name="%elexis.remindersView">
255
+ </view>
256
+ <view
257
+ category="ch.elexis.abrechnungKategorie"
258
+ class="ch.elexis.core.ui.views.rechnung.AccountView"
259
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/money.png"
260
+ id="ch.elexis.views.rechnung.AccountView"
261
+ name="%elexis.AccountView">
262
+ </view>
263
+ <view
264
+ category="ch.elexis.abrechnungKategorie"
265
+ class="ch.elexis.core.ui.views.rechnung.AccountListView"
266
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/money.png"
267
+ id="ch.elexis.views.rechnung.AccountListView"
268
+ name="%elexis.AccountListView">
269
+ </view>
270
+ <view
271
+ category="ch.elexis.datenKategorie"
272
+ class="ch.elexis.core.ui.views.SearchView"
273
+ id="ch.elexis.views.SearchView"
274
+ name="%elexis.SearchView">
275
+ </view>
276
+ <view
277
+ allowMultiple="true"
278
+ category="ch.elexis.datenKategorie"
279
+ class="ch.elexis.core.ui.views.FieldDisplayView"
280
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/daten.gif"
281
+ id="ch.elexis.dbfielddisplay"
282
+ name="%view.name.1">
283
+ </view>
284
+ <view
285
+ category="ch.elexis.datenKategorie"
286
+ class="ch.elexis.core.ui.views.ODDBView"
287
+ id="ch.elexis.ODDBView"
288
+ name="%view.name.2">
289
+ </view>
290
+ <view
291
+ category="ch.elexis.datenKategorie"
292
+ class="ch.elexis.core.ui.views.MediVerlaufView"
293
+ id="ch.elexis.medverlaufview"
294
+ name="%view.name.3">
295
+ </view>
296
+ <view
297
+ category="ch.elexis.messungenKategorie"
298
+ class="ch.elexis.core.ui.laboratory.views.LabNotSeenView"
299
+ fastViewWidthRatio="0.4"
300
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/reagensask.ico"
301
+ id="ch.elexis.LabNotSeenView"
302
+ name="%view.name.4">
303
+ </view>
304
+ <view
305
+ category="ch.elexis.abrechnungKategorie"
306
+ class="ch.elexis.core.ui.views.rechnung.BillSummary"
307
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/rechnungen.ico"
308
+ id="ch.elexis.views.rechnung.BillSummary"
309
+ name="%elexis.BillSummaryView">
310
+ </view>
311
+ <view
312
+ allowMultiple="true"
313
+ category="ch.elexis.textKategorie"
314
+ class="ch.elexis.core.ui.views.textsystem.PlatzhalterView"
315
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/platzhalter.gif"
316
+ id="ch.elexis.views.textsystem.Platzhalterview"
317
+ name="Platzhalter">
318
+ </view>
319
+ <view
320
+ category="ch.elexis.datenKategorie"
321
+ class="ch.elexis.core.ui.contacts.views.PatientDetailView"
322
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/person.ico"
323
+ id="ch.elexis.PatientDetailView"
324
+ name="%elexis.patDetailView">
325
+ </view>
326
+ <view
327
+ category="ch.elexis.datenKategorie"
328
+ class="ch.elexis.core.ui.contacts.views.PatientDetailView2"
329
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/person.ico"
330
+ id="ch.elexis.PatDetail_v2"
331
+ name="%elexis.patDetailView">
332
+ </view>
333
+ <view
334
+ class="ch.elexis.core.ui.views.ScriptView"
335
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/script_code.png"
336
+ id="ch.elexis.scriptsView"
337
+ name="%view.name.5">
338
+ </view>
339
+ <category
340
+ id="ch.elexis.messungenKategorie"
341
+ name="%elexis.measurementsCategory">
342
+ </category>
343
+ <category
344
+ id="ch.elexis.textKategorie"
345
+ name="%elexis.textCategory">
346
+ </category>
347
+ <category
348
+ id="ch.elexis.konsultationKategorie"
349
+ name="%elexis.konsCategory">
350
+ </category>
351
+ <category
352
+ id="ch.elexis.codesKategorie"
353
+ name="%elexis.codesCategory">
354
+ </category>
355
+ <category
356
+ id="ch.elexis.datenKategorie"
357
+ name="%elexis.dataCategory">
358
+ </category>
359
+ <category
360
+ id="ch.elexis.abrechnungKategorie"
361
+ name="%elexis.accountingCategory">
362
+ </category>
363
+ </extension>
364
+ <extension
365
+ point="org.eclipse.ui.perspectives">
366
+ <perspective
367
+ class="ch.elexis.core.application.perspectives.ArtikelPerspektive"
368
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/pill.png"
369
+ id="ch.elexis.ArtikelPerspektive"
370
+ name="%elexis.articlePerspective">
371
+ </perspective>
372
+ <perspective
373
+ class="ch.elexis.core.application.perspectives.PatientPerspektive"
374
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/group.png"
375
+ id="ch.elexis.PatientPerspective"
376
+ name="%elexis.patientPerspective">
377
+ </perspective>
378
+ <perspective
379
+ class="ch.elexis.core.application.perspectives.AbrechnungsPerspektive"
380
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/money.png"
381
+ id="ch.elexis.AbrechnungPerspektive"
382
+ name="%elexis.accountingPerspective">
383
+ <description>
384
+ %perspective.description.0
385
+ </description>
386
+ </perspective>
387
+ <perspective
388
+ class="ch.elexis.core.application.perspectives.LeistungPerspektive"
389
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/coins.png"
390
+ id="ch.elexis.LeistungPerspektive"
391
+ name="%elexis.activityPerspective">
392
+ </perspective>
393
+ <perspective
394
+ class="ch.elexis.core.application.perspectives.ReminderPerspektive"
395
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/bell.png"
396
+ id="ch.elexis.ReminderPerspektive"
397
+ name="%elexis.reminderPerspective">
398
+ </perspective>
399
+ <perspective
400
+ class="ch.elexis.core.application.perspectives.BriefePerspektive"
401
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/documents_text.png"
402
+ id="ch.elexis.BriefePerspektive"
403
+ name="%elexis.letterPerspective">
404
+ </perspective>
405
+ <perspective
406
+ class="ch.elexis.core.application.perspectives.BestellPerspektive"
407
+ icon="platform:/plugin/ch.elexis.core.ui.icons/icons/16x16/cart.png"
408
+ id="ch.elexis.bestellperspektive"
409
+ name="%perspective.name.0">
410
+ </perspective>
411
+ </extension>
412
+ <extension
413
+ id="ElexisApp"
414
+ name="Elexis"
415
+ point="org.eclipse.core.runtime.applications">
416
+ <application>
417
+ <run
418
+ class="ch.elexis.core.application.Desk">
419
+ </run>
420
+ </application>
421
+ </extension>
422
+ <extension
423
+ point="ch.elexis.core.ui.Sidebar">
424
+ <Perspektive
425
+ ID="ch.elexis.PatientPerspective"
426
+ icon="kons_perspective"
427
+ name="%sidebar.kons"/>
428
+ <Perspektive
429
+ ID="ch.elexis.BriefePerspektive"
430
+ icon="briefe_perspective"
431
+ name="%sidebar.letters"/>
432
+ <Perspektive
433
+ ID="ch.elexis.LeistungPerspektive"
434
+ icon="leistung_perspective"
435
+ name="%sidebar.activities"/>
436
+ <Perspektive
437
+ ID="ch.elexis.ArtikelPerspektive"
438
+ icon="artikel_perspective"
439
+ name="%sidebar.articles"/>
440
+ <Perspektive
441
+ ID="ch.elexis.ReminderPerspektive"
442
+ icon="reminder_perspective"
443
+ name="%sidebar.reminders"/>
444
+ <Perspektive
445
+ ID="ch.elexis.AbrechnungPerspektive"
446
+ icon="rechnung_perspective"
447
+ name="%sidebar.bills"/>
448
+ <Perspektive
449
+ ID="ch.elexis.SchwarzesBrett"
450
+ icon="bbs_perspective"
451
+ name="%sidebar.bbs"/>
452
+ <Perspektive
453
+ ID="ch.elexis.bestellperspektive"
454
+ icon="bestell_perspective"
455
+ name="%sidebar.orders"/>
456
+ </extension>
457
+ </plugin>