Complete.Org: Mailing Lists: Archives: freeciv-dev: January 2005:
[Freeciv-Dev] (PR#11858) Voting clean up
Home

[Freeciv-Dev] (PR#11858) Voting clean up

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: per@xxxxxxxxxxx
Subject: [Freeciv-Dev] (PR#11858) Voting clean up
From: "Vasco Alexandre da Silva Costa" <vasc@xxxxxxxxxxxxxx>
Date: Sat, 8 Jan 2005 10:00:39 -0800
Reply-to: bugs@xxxxxxxxxxx

<URL: http://bugs.freeciv.org/Ticket/Display.html?id=11858 >

=== The Hard Way ===
One way of fixing it would be to make yet another voting interface. One
that isn't command line but totally GUI based.

This would basically eliminate the "set endy 5000, cr ai1, tea ai1 ai"
problem.

Basically, we need to figure out a GUI way of doing any of the server
commands we do now. We could do the Mathematica style interface as a
first approach, although I dislike it.

The "more options" window already does a GUI interface for options
setting. Either we extend that concept to the other commands as well, or
we do a new interface for emmitting commands.

The commands are either basic triggers of actions (i.e. /start),
variable settings (/set, /show), actions with arguments (i.e. /save and
/start).

Variable settings are taken care of by "more options". Commands without
arguments can be buttons or menu items. The problem is the commands
with arguments, like /take, /observe, etc. Most involve players or
connections as arguments, some strings, others involve file names.

Then you would need a negotiating table, similar to the way the
diplomacy dialog works now for treaties, which displays the commands.

=== The Less Hard Way ===
Fix the "set endy 5000, cr ai1, tea ai1 ai" problem:
Alternatively, we could change how command parsing is done. Instead of
doing things like we do now, the argument and command name expansion
would be done by the interpreter rather than the commands themselves.
Basically what Per said.

The interpreter would do the argument expansion step before passing the
arguments to the commands or doing anything. Sort of like "bash" expands
wildcards before passing them to the invoked command via argv[].

Fix the voting problem:
You add a negotiating table GUI. it could be a list with bills
of commands. The interface is quite simple. An area to modify/display a
bill (only the bill creator can modify his bill), a yes/no vote toggle
button for you to vote on a bill and counts of votes issued.
Mockup image attached.

PNG image


[Prev in Thread] Current Thread [Next in Thread]