<html>
<head>
<style><!--
body {background-color:#ffffff;}
.file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;}
.pathname {font-family:monospace; float:right;}
.fileheader {margin-bottom:.5em;}
.diff {margin:0;}
.tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;}
.tasklist ul {margin-top:0;margin-bottom:0;}
tr.alt {background-color:#eeeeee}
#added {background-color:#ddffdd;}
#addedchars {background-color:#99ff99;font-weight:bolder;}
tr.alt #added {background-color:#ccf7cc;}
#removed {background-color:#ffdddd;}
#removedchars {background-color:#ff9999;font-weight:bolder;}
tr.alt #removed {background-color:#f7cccc;}
#copied {background-color:#ccccff;}
tr.alt #copied {background-color:#bbbbf7;}
#info {color:#888888;}
#context {background-color:#eeeeee;}
td {padding-left:.3em;padding-right:.3em;}
tr.head {border-bottom-width:1px;border-bottom-style:solid;}
tr.head td {padding:0;padding-top:.2em;}
.task {background-color:#ffff00;}
.comment {white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:pre-wrap;word-wrap:break-word;padding:4px;border:1px dashed #000000;background-color:#ffffdd}
.error {color:red;}
hr {border-width:0px;height:2px;background:black;}
--></style>
</head>
<body>
<table cellspacing="0" cellpadding="0" border="0" rules="cols">
<tr class="head"><td colspan="5">Commit in <b><tt>as2api/trunk/as2api</tt></b></td></tr>
<tr><td><tt><a href="#file1"><span id="removed">as2api_win32.rbw</span></a></tt> </td><td></td><td></td><td align="right" id="removed">-325</td><td nowrap="nowrap">372 removed</td></tr>
</table>
<pre class="comment">
Zap long-unmaintained code
</pre>
<hr /><a name="file1" /><div class="file">
<span class="pathname" id="removed">as2api/trunk/as2api</span><br />
<div class="fileheader" id="removed"><big><b>as2api_win32.rbw</b></big> <small id="info">removed after 372</small></div>
<pre class="diff"><small id="info">--- trunk/as2api/as2api_win32.rbw        2006-04-07 00:16:41 UTC (rev 372)
+++ trunk/as2api/as2api_win32.rbw        2006-04-07 00:20:11 UTC (rev 373)
@@ -1,325 +0,0 @@
</small></pre><pre class="diff" id="removed">-#!/usr/bin/env ruby
-
-#
-# Part of as2api - http://www.badgers-in-foil.co.uk/projects/as2api/
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-
-require 'fox'
-require 'parse/lexer'
-require 'parse/parser'
-require 'parse/as_io'
-require 'doc_comment'
-require 'api_model'
-require 'api_loader'
-
-include Fox
-
-
-OUTPUT_INITIAL = "..please select output directory.."
-
-
-def create_ui(application, main)
- contents = FXVerticalFrame.new(main, LAYOUT_SIDE_LEFT|
- LAYOUT_FILL_Y|LAYOUT_FILL_X)
-
- sourcepath_group = FXGroupBox.new(contents, "Classpath",
- LAYOUT_SIDE_LEFT|GROUPBOX_TITLE_CENTER|FRAME_RIDGE|LAYOUT_FILL_X|LAYOUT_FILL_Y)
-
- sourcepath_buttons = FXHorizontalFrame.new(sourcepath_group,
- LAYOUT_SIDE_TOP|
-                                         PACK_UNIFORM_WIDTH)
-
- add_button = FXButton.new(sourcepath_buttons, "Add...")
- add_button.connect(SEL_COMMAND) do
- if 1 == $dir_chooser.execute
- add_sourcepath_item($dir_chooser.directory)
- end
- end
- remove_button = FXButton.new(sourcepath_buttons, "Remove")
- remove_button.connect(SEL_COMMAND) do
- unless $sourcepath_list.currentItem == -1
- remove_sourcepath_item($sourcepath_list.currentItem)
- end
- end
-
- $sourcepath_list = FXList.new(sourcepath_group, 7, nil, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y)
-
- output_group = FXGroupBox.new(contents, "Output",
- GROUPBOX_TITLE_CENTER|FRAME_RIDGE|LAYOUT_FILL_X)
-
- $output_target = FXDataTarget.new()
- output_text = FXTextField.new(output_group, 40, $output_target,
- FXDataTarget::ID_VALUE,
- TEXTFIELD_READONLY|LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y|FRAME_SUNKEN)
- #$output_label = FXLabel.new(output_group, OUTPUT_INITIAL, nil, LABEL_NORMAL|LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
- source_button = FXButton.new(output_group, "Browse...", nil, nil, 0, BUTTON_NORMAL|LAYOUT_SIDE_RIGHT|LAYOUT_CENTER_Y)
- source_button.connect(SEL_COMMAND) do
- if 1 == $dir_chooser.execute
- set_output_dir($dir_chooser.directory)
- end
- end
- $dir_chooser = FXDirDialog.new(main, "Source Location")
-
- $create_button = FXButton.new(contents, "Generate Docs...", nil, nil, 0, BUTTON_NORMAL|LAYOUT_SIDE_BOTTOM|LAYOUT_CENTER_X|BUTTON_INITIAL)
- $create_button.disable() # since we know initial config is invalid
- $create_button.connect(SEL_COMMAND) do
- save_settings
- start_generating_documentation
- end
-
- $progress_dialog = ProgressDialog.new(main)
-
- # yuk
- $main = main
-
- load_settings
- update_status
-end
-
-class ProgressDialog < FXDialogBox
- def initialize(owner)
- super(owner, "Progress", DECOR_TITLE|DECOR_BORDER)
- contents = FXVerticalFrame.new(self,
- LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y)
-
- $task_target = FXDataTarget.new("Examaning classpath for ActionScript sources...")
- $task_text = FXTextField.new(contents, 60, $task_target,
- FXDataTarget::ID_VALUE,
- LAYOUT_CENTER_Y|LAYOUT_FILL_X)
- $task_text.disable
-
-# $task_label = FXLabel.new(contents, "Examaning classpath for ActionScript sources...", nil,
-# LABEL_NORMAL|LAYOUT_SIDE_TOP|LAYOUT_CENTER_Y|JUSTIFY_CENTER_X)
-
- $progress_target = FXDataTarget.new(0)
- $progress_bar = FXProgressBar.new(contents, $progress_target,
- FXDataTarget::ID_VALUE,
- LAYOUT_CENTER_Y|LAYOUT_FILL_X|
-                                 FRAME_SUNKEN)
- end
-end
-
-def update_status
- valid = true
- if $sourcepath_list.numItems < 1
- status = "Specify location of source packages"
- valid = false
- elsif $output_target.value == OUTPUT_INITIAL
- status = "Specify location for HTML output"
- valid = false
- end
-
-
- if valid
- $create_button.enable()
- else
- $create_button.disable()
- end
-end
-
-
-def add_sourcepath_item(path)
- $sourcepath_list.appendItem(path)
- update_status
-end
-
-
-def remove_sourcepath_item(item)
- $sourcepath_list.removeItem(item)
- update_status
-end
-
-
-def set_output_dir(dir)
- $output_target.value = dir
- update_status
-end
-
-
-def start_generating_documentation
- Thread.new do
- Thread.current.abort_on_exception = true
- $main.hide()
- $progress_dialog.show(PLACEMENT_OWNER)
- begin
- generate_docs
- rescue =>e
- puts "#{e.message}\n#{e.backtrace.join("\n")}"
- ensure
- $progress_dialog.hide
- $main.show()
- end
- end
-end
-
-
-def generate_docs
- sources = collect_sources
- $progress_bar.total = sources.length
- type_agregator = GlobalTypeAggregator.new
- count = 0
- sources.each do |src|
- $task_target.value = "Parsing #{src.source}"
- process_file(type_agregator, src)
- count = count + 1
- $progress_target.value = count
- end
- $task_target.value = "Writing API documentation"
- document_types($output_target.value, type_agregator)
-end
-
-class Source
- attr_accessor :path, :source
-end
-
-def collect_sources
- list = []
- $sourcepath_list.each do |item|
- path = item.text
-puts "Examining #{path}..."
- $task_target.value = "Examining #{path}..."
- each_source(path) do |name|
- src = Source.new
- src.path = path
- src.source = name
- list << src
- end
- end
- list
-end
-
-
-def process_file(type_agregator, src)
- File.open(File.join(src.path, src.source)) do |io|
- begin
- is_utf8 = detect_bom?(io)
- type = simple_parse(io)
- type.input_filename = src.source
- type.sourcepath_location(File.dirname(src.source))
- type.source_utf8 = is_utf8
- type_agregator.add_type(type)
- rescue =>e
- $stderr.puts "#{src.source}: #{e.message}\n#{e.backtrace.join("\n")}"
- end
- end
-end
-
-
-def save_settings
- reg = $app.reg
- unless $output_target.value == OUTPUT_INITIAL
- reg.writeStringEntry("Settings", "Output", $output_target.value)
- end
- count = 0
- $sourcepath_list.each do |item|
- reg.writeStringEntry("SourcePath", "entry_#{count}", item.text)
- count += 1
- end
-end
-
-def load_settings
- reg = $app.reg
- output = reg.readStringEntry("Settings", "Output", "")
- unless output == ""
- $output_target.value = output
- end
-
- count = 0
- until (entry = reg.readStringEntry("SourcePath", "entry_#{count}", "")) == ""
- $sourcepath_list.appendItem(entry)
- count += 1
- end
-end
-
-def run
- application = FXApp.new("as2api", "www.badgers-in-foil.co.uk")
- $app = application # yuk!
-
- main = FXMainWindow.new(application, "as2api")
-
- create_ui(application, main)
-
- # Create the application
- application.create
- main.show(PLACEMENT_SCREEN)
-
- # Run it
- application.run
-end
-
-
-
-
-
-
-
-# ---- nicked from documenter.rb ----
-
-
-def simple_parse(input)
- as_io = ASIO.new(input)
- lex = DocASLexer.new(ActionScript::Parse::ASLexer.new(as_io))
- parse = DocASParser.new(lex)
- handler = DocASHandler.new
- parse.handler = handler
- parse.parse_compilation_unit
- handler.defined_type
-end
-
-
-BOM = "\357\273\277"
-
-# Look for a byte-order-marker in the first 3 bytes of io.
-# Eats the BOM and returns true on finding one; rewinds the stream to its
-# start and returns false if none is found.
-def detect_bom?(io)
- return true if io.read(3) == BOM
- io.seek(0)
- false
-end
-
-
-def parse_options
-
-end
-
-# lists the .as files in 'path', and it's subdirectories
-def each_source(path)
- require 'find'
- path = path.sub(/\/+$/, "")
- Find.find(path) do |f|
- base = File.basename(f)
- # Ignore anything named 'CVS', or starting with a dot
- Find.prune if base =~ /^\./ || base == "CVS"
- if base =~ /\.as$/
- yield f[path.length+1, f.length]
- end
- end
-end
-
-# Support for other kinds of output would be useful in the future.
-# When the need arises, maybe the interface to 'output' subsystems will need
-# more formalisation than just 'document_types()'
-require 'html_output'
-
-
-
-# --------
-
-
-
-run
</pre></div>
<center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.12</small></center>
</body></html>