vlocity-vinstall-gambas / Vlocity / .svn / text-base / _SettingsKeys.class.svn-base

' Gambas class file
' This file is part of vinstall-ng.
'     Copyright (c) 2007 - The Vectorlinux Team - See AUTHORS
' 
'     vinstall-ng 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 3 of the License.
' 
'     vinstall-ng 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 vinstall-ng.  If not, see <http://www.gnu.org/licenses/>.
'     THIS FILE WAS CONTRIBUTED BY THE MEMEBERS OF THE GAMBAS DEVELOPMENT TEAM


EXPORT
CREATE STATIC

PUBLIC _Slot AS Collection
PUBLIC _Parent AS String

PRIVATE $aKeys AS String[]

PUBLIC SUB _get(Parent AS String) AS _SettingsKeys
  
  _Parent &/= Parent
  RETURN _SettingsKeys
  
END

PUBLIC SUB _next() AS String
  
  DIM vVal AS Variant
  DIM cCol AS Collection
  DIM sKey AS String
  
  IF IsNull(Enum.Index) THEN
    IF _Parent THEN
      TRY cCol = _Slot[_Parent]
    ELSE
      cCol = _Slot
    ENDIF
    IF NOT cCol THEN 
      Enum.Stop
      RETURN
    ENDIF
    $aKeys = NEW String[]
    FOR EACH vVal IN cCol
      $aKeys.Add(cCol.Key)
    NEXT
    $aKeys.Sort
    Enum.Index = 0
  ENDIF
  
  IF Enum.Index >= $aKeys.Count THEN
    Enum.Stop
  ELSE
    sKey = $aKeys[Enum.Index]
    INC Enum.Index
    RETURN sKey
  ENDIF
  
END
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.